您的位置:首页 > 产品设计 > UI/UE

做项目时,关于 "StringBuilder" 的总结

2014-03-07 16:40 453 查看
今天在做自己的毕业的时候,看到之前写的一条sql语句,是用String拼接的,如下: 

String sql = "select count(*) from t_imployeeinfo where " +

 (departId.equals("0000") ? " " : ("departId='" + departId + "' and "))   //这里有个三元表达式

 + "impState=0";

乍眼看就觉得这条sql语句挺难看的,所以就想用StringBuilder拼接看看能不能好看些(上学的时候记得老师说过用StringBuilder拼接的话相对于String能好让人理解些),我就如下做了:

String query = (departId.equals("0000") ? " " : ("departId='" + departId + "' "));

StringBuilder sb = new StringBuilder();

sb.append("select count(*) from t_imployeeinfo where ");

sb.append(query);

sb.append("and impState=0");

String sql = sb.toString();

但是运行时出错了,后来print出来后一看:

select count(*) from t_imployeeinfo where  ****  and impState=0 

最后迫于无奈,还是用回了String的形式了,哎....

怎么会把query没有拼接上去了了,我就不知道了咯,慢慢研究吧....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息