【问题标题】:How to use the same value multiple times in jdbc postgresql prepared statement如何在 jdbc postgresql 准备语句中多次使用相同的值
【发布时间】:2012-11-20 23:18:25
【问题描述】:

有没有办法通过 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"

【问题讨论】:

标签: java postgresql jdbc


【解决方案1】:

据我所知,纯 JDBC 不支持命名查询参数。您可能会创建一个小函数来将值放在所有位置。否则,您正在考虑使用更重的东西,例如 Spring 或 JPA。

【讨论】:

    猜你喜欢
    • 2014-02-05
    • 2011-12-27
    • 1970-01-01
    • 2018-07-20
    • 2011-08-06
    • 1970-01-01
    • 2018-04-10
    • 2011-03-22
    • 1970-01-01
    相关资源
    最近更新 更多