【发布时间】:2012-03-05 21:33:42
【问题描述】:
有一种在java中使用准备好的语句的好方法,其中有可能设置某些参数可以或不可以设置?
假设我有一个像这样的完整查询:
SELECT * FROM Table1 WHERE Field1='....' AND Field2='....' AND Field3='....'
然后在我的程序中我想做这样的事情(我知道我写的方式是不可能的)
// part of code where I have 3 variable set by some logic and the query itself
//.........
String Query = "SELECT * FROM Table1 WHERE Field1=? ";
PreparedStatement s = conn.prepareStatement();
s.setString(1, Field1Var);
if (Field2Var != Value)
{
Query += " AND Field2=? ";
s.setString(2, Field2Var);
}
if (Field3Var != Value3)
{
Query += " AND Field3=? ";
s.setString(3, Field3Var);
}
s = conn.prepareStatement(query);
如何在不编写许多不同查询的情况下实现它?
【问题讨论】:
-
您可以创建一个存储过程并使用您的参数执行该过程
标签: java mysql prepared-statement