如何在Java中准备SQL查询时设置整数列表
我有一个这样的查询-从tbl中选择*,其中。。。和(2,3,4)中的colname如何在Java中准备SQL查询时设置整数列表,java,mysql,prepared-statement,Java,Mysql,Prepared Statement,我有一个这样的查询-从tbl中选择*,其中。。。和(2,3,4)中的colname 当我使用Java中的PreparedStatement准备查询(…'colname in(?))时,我应该调用什么setter方法来设置这些整数?整数在整数数组中可用,大小不同。如果重要的话,数据库是MySQL,所讨论的列是int类型的 您可以使用另一种语法 WHERE colname = ANY (?) 并调用PreparedStatement.setArray()。您必须提供java.sql.Array的实
当我使用Java中的PreparedStatement准备查询(…'colname in(?))时,我应该调用什么setter方法来设置这些整数?整数在整数数组中可用,大小不同。如果重要的话,数据库是MySQL,所讨论的列是int类型的 您可以使用另一种语法
WHERE colname = ANY (?)
并调用PreparedStatement.setArray()。您必须提供java.sql.Array的实例作为参数。ANY而不是IN的一个优点是,您可以传递空数组,而不会导致sql语法错误 作为Learning解释的补充: 创建数组可能很棘手 JDK1.6及更高版本中有一个creator方法。 由于JDK1.6是最新的稳定版本,您的JDBC驱动程序可能不支持它
您可以尝试创建自己的阵列实现,但这可能不适用于所有JDBC连接器实现。如何创建java.sql.Array的实例?我想知道为什么这不是世界上评分最高的问题!;)