多条件查询

网友投稿 849 2022-10-07

多条件查询

多条件查询

查询条件如图所示

因为我们不知道要查询的条件都有哪些,所以难点就在于如何拼装sql语句。

情况2:查询条件写了一部分

这时候就该我们进行分析了。

一般的sql查询语句为:

select * from book where...

这样写在情况1时,sql语句是错误的。 如果sql语句为这样,

select * from book where 1=1

我们就能继续对查询条件进行判断然后拼装sql。满足了情况1和情况2. 代码如下:

public List FindProductByManyCondition(String id, String name, String category, String minprice, String maxprice) { QueryRunner qr=new QueryRunner(C3P0Util.getDataSource()); StringBuilder sql=new StringBuilder("select * from book where 1 = 1"); List list=new ArrayList(); //拼装sql if(!"".equals(id)){ sql.append(" and id like ? "); list.add("%"+id+"%"); } if(!"".equals(name)){ sql.append(" and name like ?"); list.add("%"+name+"%"); } if(!"".equals(category)){ sql.append(" and category = ?"); list.add(category); } if(!"".equals(minprice)){ sql.append(" and price >= ?"); list.add(minprice); } if(!"".equals(maxprice)){ sql.append(" and price <= ?"); list.add(maxprice); } try { List books=qr.query(sql.toString(),new BeanListHandler(Book.class), list.toArray()); return books; } catch (SQLException e) { e.printStackTrace(); } return null; }

查询结果:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序开发怎样获取AppID(微信小程序 获取)
下一篇:atlas 初体验
相关文章

 发表评论

暂时没有评论,来抢沙发吧~