为了安全和性能的原因,我正在修改一些使用preparedStatement而不是普通Statement的代码。Java中针对Oracle的PreparedStatement问题
我们的应用程序目前正在将信息存储到嵌入式德比数据库中,但我们即将转向Oracle。
我发现两件事情,我需要对Oracle和预处理语句您的帮助家伙:
1 - 我发现this document说,甲骨文没有处理绑定参数为IN子句,所以我们不能提供查询如下:
Select pokemon from pokemonTable where capacity in (?,?,?,?)
这是真的吗?有什么解决方法吗? ...为什么?
2-我们有一些类型为TIMESTAMP的字段。因此,根据我们的实际声明,查询如下所示:
Select raichu from pokemonTable where evolution = TO_TIMESTAMP('2500-12-31 00:00:00.000', 'YYYY-MM-DD HH24:MI:SS.FF')
准备好的声明应该做什么?我应该加入参数数组: 2500-12-31或TO_TIMESTAMP('2500-12-31 00:00:00.000','YYYY-MM-DD HH24:MI:SS.FF')?
感谢您的帮助,我希望我的问题很明确!
Regards,
'String sql =“SELECT col FROM tbl WHERE ID MEMBER OF?”;'如果[你通过一个集合](https://stackoverflow.com/a/34699771/1509264)将工作。 – MT0 2018-01-14 13:16:37