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 (及格的学生),求答案
展开
展开全部
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("没有及格的学生");
}
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("没有及格的学生");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的意思是直接找出及格的学生然后放到一个MAP中???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询