当前位置:编程学习 > JAVA >>

请教个关于prepareStatement 的问题

请教各位大牛,如何写一个使用prepareStatement查询mysql数据库的方法?怎么保证其通用性???

每条的SQL语句的条件个数是不同的,最主要我想知道setString这里该如何来做到通用?

没有思路,请指教!谢谢~~~ --------------------编程问答-------------------- 要判断参数类型,setString只使用string类型的 --------------------编程问答-------------------- 那如果都是String类型的话,怎么用把查询的这个方法做到通用呢?因为SQL语句查询的条件个数有多有少的,该怎么去思考这个问题???思路是什么呢?请教! --------------------编程问答-------------------- http://www.360doc.com/content/12/1028/13/1007797_244238852.shtml

自己参考。 --------------------编程问答--------------------

ParameterRow pr = new ParameterRow();//com.borland.dx.dataset.ParameterRow

sql.append(" where 1=1 ");
if (!utilString.isNullOrEmpty(evt.getCaseId())) {
sql.append(" and a.case_id like :caseId");
pr.setString("caseId", evt.getCaseId()+ "%");
}
if (!utilString.isNullOrEmpty(evt.getPolNO())) {
sql.append(" and a.polno like :polNO");
pr.setString("polNO", evt.getPolNO()+ "%");
}
if (!utilString.isNullOrEmpty(evt.getClaimStat())) {
sql.append(" and a.claim_stat=:claimStat");
pr.setString("claimStat", evt.getClaimStat());
}
--------------------编程问答-------------------- 上面不太完整,这个完整一些。
Column caseId = new Column("caseId", "caseId", com.borland.dx.dataset.Variant.STRING);//com.borland.dx.dataset.Column
Column polNO = new Column("polNO", "polNO", com.borland.dx.dataset.Variant.STRING);
Column claimStat =
new Column("claimStat", "claimStat", com.borland.dx.dataset.Variant.STRING);
ParameterRow pr = new ParameterRow();//com.borland.dx.dataset.ParameterRow
pr.setColumns(new Column[] { caseId, polNO, claimStat });
sql.append(" where 1=1 ");
if (!utilString.isNullOrEmpty(evt.getCaseId())) {
sql.append(" and a.case_id like :caseId");
pr.setString("caseId", evt.getCaseId()+ "%");
}
if (!utilString.isNullOrEmpty(evt.getPolNO())) {
sql.append(" and a.polno like :polNO");
pr.setString("polNO", evt.getPolNO()+ "%");
}
if (!utilString.isNullOrEmpty(evt.getClaimStat())) {
sql.append(" and a.claim_stat=:claimStat");
pr.setString("claimStat", evt.getClaimStat());
}
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,