有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用postgresql NOT IN语句的java

我在春天有一个问题:

 private String SQL_Clear_Deleted_Options = "DELETE FROM vote_votes WHERE poll_id=? AND option_id NOT IN ?"

我的问题是第二个?。正确的形式应该是(id1,id2,id3,…)。如何将类似cl="0,1,2,3,6"的字符串传递到此查询

我正在使用jdbcTemplate。是的

jdbcTemplate.update(SQL_Clear_Deleted_Options, id,cl)

应该是什么


共 (1) 个答案

  1. # 1 楼答案

    您可以使用PreparedStatement的setArray设置多个值。 https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html#setArray(int,%20java.sql.Array)

    数组应该是正确的类型,因此您可以使用连接创建它。createArrayOf函数: https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#createArrayOf(java.lang.String,%20java.lang.Object[])

    你可以看到很多关于该主题的讨论,例如: How to use an arraylist as a prepared statement parameter

    编辑:忘记提及:当数组作为参数给定时,JdbcTemplate应该正确设置参数