关于Java的sql动态参数

Python049

关于Java的sql动态参数,第1张

String sql = "select * from stuInfo where id = ? and name = ?"

Object[] params = {id,name}

public int executeSQL(String sql,Object[] params){

PreparedStatement psmt =conn.prepareStatement(sql)

if(params != null){

for(int i = 0 i<params.lengthi++){

psmt.setObject((i+1),params[i])

}

}

}

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("没有及格的学生")

}