问题:在构造sql语句时遇到where后的条件数是不定的(例如:一个参数对象的非空属性来作为where后的条件);同理:当update table set ...更新字段数不定。
解决办法:
1,针对where条件:
例如:sql="select * from tableName where 1=1";
if(a!=null)
sql+=" and id='"+a+"'";
"1=1"为常真的条件,不会影响查询的结果,且方便了后面条件的构造。(加入没有1=1 后面拼接sql时“and”的使用会很麻烦)
2:对于给定等值条件的更新语句(例如:Update table set ...where id=2):
可以构造如下:sql="Update table set id=2";
if(a!=null)
sql+=", n='"+a+"'";