多条件查询的sql语句写法如下:
select * from T_demo where 1=1
and name='张三'
and age='15'
and sex='男'
在dao(数据层)包中写法如下:
public List<Product> findByCondition(String id,String name,String category,String min,String max) throws SQLException{
QueryRunner qr = new QueryRunner(c3p0.ds);
// 用于放置参数集合
List<Object> param = new ArrayList<Object>();
String sql = "select * from products where 1=1";
if (id!=null && id.trim().length()>0) {
sql += "and id = ?";
param.add(id);
}
if (name!=null && name.trim().length()>0) {
sql += "and name = ?";
param.add(name);
}
if (category!=null && category.trim().length()>0) {
sql += "and category = ?";
param.add(category);
}
if (min != null && max != null && min.trim().length()>0 && max.trim().length()>0) {
sql += "and price >= ? and price <= ?";
param.add(min);
param.add(max);
}
// 用于存放查询出数据的集合
List<Product> list = qr.query(sql, new BeanListHandler<Product>(Product.class),param);
return list;
}
本文详细介绍了如何在SQL中使用多条件查询语句,通过动态拼接SQL语句和参数化处理,实现灵活高效的数据库查询操作。文章展示了具体的代码实例,帮助读者理解如何在Java环境中运用QueryRunner进行数据查询。
4722

被折叠的 条评论
为什么被折叠?



