Java动态sql语句拼接

有一个Map<String,Boolean>,key是学生姓名,value是考试是否及格,sql语句:select*fromstuentt1wheret1.namein(... 有一个Map<String,Boolean>,key是学生姓名,value是考试是否及格,sql语句:select * from stuent t1 where t1.name in (及格的学生),求答案 展开
 我来答
puziguo
推荐于2017-09-16 · TA获得超过1928个赞
知道小有建树答主
回答量:884
采纳率:86%
帮助的人:802万
展开全部
Map<String,Boolean> map = new HashMap<String,Boolean>();

Set<Entry<String, Boolean>> ens = map.entrySet();
StringBuilder sb = new StringBuilder();
if(ens != null && ens.size() > 0){
for(Entry<String, Boolean> en: ens){
if(en.getValue()){
sb.append("'").append(en.getKey()).append("',");
}
}
}
String names = sb.toString();
if(names.length() > 0){
names = names.substring(0, names.length()-1);//去掉最后一个逗号
String sql = "select * from stuent t1 where t1.name in("+names+")";
System.out.println(sql);
}else{
System.out.println("没有及格的学生");
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_汪锐
2014-08-30 · TA获得超过358个赞
知道小有建树答主
回答量:513
采纳率:0%
帮助的人:260万
展开全部
你的意思是直接找出及格的学生然后放到一个MAP中???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式