码迷,mamicode.com
首页 > 数据库 > 详细

JDBC中,如何动态的设置查询条件

时间:2015-04-16 01:25:38      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

今天看JDBC,发现有段代码,可以减少重复的编写查询方法,如下:

 1     public List<Goddess> query(List<Map<String, Object>> params) throws Exception{
 2         List<Goddess> result=new ArrayList<Goddess>();
 3         
 4         Connection conn=DBUtil.getConnection();
 5         StringBuilder sb=new StringBuilder();
 6         sb.append("select * from imooc_goddess where 1=1 ");
 7         
 8         if(params!=null&&params.size()>0){
 9             for (int i = 0; i < params.size(); i++) {
10                 Map<String, Object> map=params.get(i);
11                 sb.append(" and  "+map.get("name")+" "+map.get("rela")+" "+map.get("value")+" ");
12             }
13         }
14         
15         PreparedStatement ptmt=conn.prepareStatement(sb.toString());
16         
17         System.out.println(sb.toString());
18         ResultSet rs=ptmt.executeQuery();
19         
20         Goddess g=null;
21         while(rs.next()){
22             g=new Goddess();
23             g.setId(rs.getInt("id"));
24             g.setUser_name(rs.getString("user_name"));
25             g.setAge(rs.getInt("age"));
26             g.setSex(rs.getInt("sex"));
27             g.setBirthday(rs.getDate("birthday"));
28             g.setEmail(rs.getString("email"));
29             g.setMobile(rs.getString("mobile"));
30             g.setCreate_date(rs.getDate("create_date"));
31             g.setCreate_user(rs.getString("create_user"));
32             g.setUpdate_date(rs.getDate("update_date"));
33             g.setUpdate_user(rs.getString("update_user"));
34             g.setIsdel(rs.getInt("isdel"));
35             
36             result.add(g);
37         }
38         return result;
39     }

它使用List<Map<String ,Object>>的方式来传递数据。

map.put(name,"XXX");查询条件名

map.put(rel,"XXX");查询的条件关系,是大于、小于还是等于

map.put(value,"XXX");查询的条件值

使用list可以存放多个以上的Map,减少为了某一个功能专门写一个查询方法,增强了代码的服用!

感谢慕课网—JDBC对面的女孩看过来课程

JDBC中,如何动态的设置查询条件

标签:

原文地址:http://www.cnblogs.com/TTDJAVA/p/4430671.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!