QueryRunner使用之可变条件的处理
2019-03-13 23:33:00来源:博客园 阅读 ()
在三层架构的Dao层中,需要通过不确定的条件,从数据库查询结果。
可以利用List集合作为容器将条件存储起来。
实际开发中的代码:
public List<Hotel> searchByFloorAndTypeAndFree(String cmbHouseFloor,String cmbHouseType, String cheFree) throws SQLException {
QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
//定义一个容器存储实际参数
List<String> list = new ArrayList<String>();
String sql = "select * from tb_hotel where 1 = 1";
//如果用户选择了楼层
int cmbHouseFloorInt = Integer.parseInt(cmbHouseFloor);
if(cmbHouseFloorInt > 0){
sql += " and houseId like ?";//模糊查询
list.add(cmbHouseFloor + "%");
}
//如果用户选择了房型
if(!cmbHouseType.equals("不限")){
sql += " and houseType = ?";
list.add(cmbHouseType);
}
//如果用户勾选了空闲复选框
if(cheFree != null){
sql += " and houseState = ?";
list.add("%" + 0);
}
List<Hotel> hotelList = runner.query(sql, new BeanListHandler<Hotel>(Hotel.class), list.toArray());
return hotelList;
}
注意:根据runner.query的参数,可变参数需要String类型,所以需要将list转化为String即list.toArray()。
原文链接:https://www.cnblogs.com/itzhouq/p/itzhouq.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Java基础:(四)继承
- 【面试题】String类、包装类的不可变性 2020-05-06
- 为什么 String 是不可变的? 2020-04-21
- java 集合可变参数 2020-04-10
- 并发编程之共享模型的不可变 2020-02-20
- 深度解析Java可变参数类型以及与数组的区别 2020-02-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash