在使用查询条件的时候,经常需要按条件去查询数据,这个时候有个sql语句很头痛,多条件查询该咋么写哪,我也是十分头疼,然后就给大家分享一下我的小办法:
(注意:如果按条件查询的时候,条件都不写,则进行的是全部查询,此外以下使用的C3P0开源连接池)
QueryRunner runner = new QueryRunner(Utils.getDataSource());
String sql = “select * from stu where 1 = 1”;
List<String> list = new ArrayList<>();
// 判断有没有姓名,如果有,就组拼到sql语句里面
if (TextUtils.isEmpty(sname)) {
sql = sql + " and name like ? “;
list.add(”%" + shame + “%”);
}
// 判断有没有性别,有的话,就组拼到sql语句里面
if (!TextUtils.isEmpty(sgender)) {
sql = sql + " and gender = ?";
list.add(sgender);
}
runner.query(sql, new BeanListHandler<Student>(Student.class));
以上中有个工具类实则为判断字符串是否为空:(具体实现如下)
public static boolean. isEmpty(String s){
return s == null || s.length() ==0;
}