如何在jdbc postgresql准备语句中多次使用相同的值

时间:2012-11-20 23:18:25

标签: java postgresql jdbc

有没有办法在jdbc postgresql驱动程序的预准备语句中多次使用相同的变量?

例如,我想使用以下语句,但每个问号具有相同的值:

PreparedStatement ps = 
    pg.prepareCall("SELECT * FROM mytable WHERE col1=? AND col2=? AND col3=?");    

但不是输入代码三次,例如:

ps.setInt(0,1);
ps.setInt(1,1);
ps.setInt(2,1);

有没有办法在每个变量中使用相同的值?我想到了与pypostgresql中的用法类似的内容,人们可以简单地说$1用于每个字段。

"SELECT * FROM mytable WHERE col1=$1 AND col2=$1 AND col3=$1"

1 个答案:

答案 0 :(得分:0)

据我所知,普通JDBC不支持命名查询参数。您可以创建一个小函数将值放在所有位置。否则你正在寻找使用像Spring或JPA这样重的东西。