public static void main(String[] args) { List<Map<String, Object>> params = new ArrayList<Map<String,Object>>(); Map<String, Object> param = new HashMap<String, Object>(); //查询条件 param.put("k", "user_name"); param.put("v", "'小美'"); param.put("rela", "="); params.add(param); //查询条件 param = new HashMap<String, Object>(); param.put("k", "mobile"); param.put("v", "18712345678"); param.put("rela", "="); params.add(param); //查询条件 param = new HashMap<String, Object>(); param.put("k", "age"); param.put("v", 33); param.put("rela", "="); params.add(param); //如果我查询条件很多,这里要写一堆param吗?怎么写可以简洁一点?? query(params); } public List<Goddess> query(List<Map<String, Object>> params) throws Exception{ List<Goddess> result=new ArrayList<Goddess>(); Connection conn=DBUtil.getConnection(); StringBuilder sb=new StringBuilder(); sb.append("select * from imooc_goddess where 1=1 "); if(params!=null&¶ms.size()>0){ for (int i = 0; i < params.size(); i++) { Map<String, Object> map=params.get(i); sb.append(" and "+map.get("name")+" "+map.get("rela")+" "+map.get("value")+" "); } } PreparedStatement ptmt=conn.prepareStatement(sb.toString()); System.out.println(sb.toString()); ResultSet rs=ptmt.executeQuery(); Goddess g=null; while(rs.next()){ g=new Goddess(); g.setId(rs.getInt("id")); g.setUser_name(rs.getString("user_name")); g.setAge(rs.getInt("age")); g.setSex(rs.getInt("sex")); g.setEmail(rs.getString("email")); g.setMobile(rs.getString("mobile")); result.add(g); } return result; }
添加回答
举报
0/150
提交
取消