为了账号安全,请及时绑定邮箱和手机立即绑定

关于java查询语句 如何简化的问题

关于java查询语句 如何简化的问题

子衿沉夜 2019-03-12 13:15:00
    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&&params.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;    }
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 411 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号