欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

不确定条件的查询

发布时间:2024/9/16 编程问答 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 不确定条件的查询 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

以下是通过串字符串的方式实现查询:

  @Testpublic void query1() throws Exception{QueryRunner run = new QueryRunner(DataSourceUtils.getDatasSource());Contact c = new Contact();//c.setId("C001");c.setName("王");//c.setSex("1");//c.setTel("123");//c.setAddr("中国");//c.setAge(88);String sql = "select * from contacts where 1=1";if(c.getId()!=null){sql+=" and id='"+c.getId()+"'";}if(c.getSex()!=null){sql = sql+" and sex='"+c.getSex()+"'";}if(c.getName()!=null){sql+=" and name like '%"+c.getName()+"%'";}if(c.getAddr()!=null){sql+=" and addr like '%"+c.getAddr()+"%'";}if(c.getTel()!=null){sql+=" and tel like '%"+c.getTel()+"%'";}System.err.println(">>>>>>:"+sql);List<Contact> cs = run.query(sql,new BeanListHandler<Contact>(Contact.class));for(Contact cc:cs){System.err.println(cc);}} //不确定条件的查询@Testpublic void query1() throws Exception{QueryRunner run = new QueryRunner(DataSourceUtils.getDatasSource());Contact c = new Contact();//c.setId("C001");c.setName("王'");c.setSex("1");c.setTel("123");c.setAddr("中国");c.setAge(55);String sql = "select * from contacts where 1=1 ";//匹配后面的所有andList<Object> params = new ArrayList<Object>();if(c.getId()!=null){sql+=" and id=?";params.add(c.getId());}if(c.getSex()!=null){sql = sql+" and sex=?";params.add(c.getSex());}if(c.getName()!=null){sql+=" and name like ?";params.add("%"+c.getName()+"%");}if(c.getAddr()!=null){sql+=" and addr like ?";params.add("%"+c.getAddr()+"%");}if(c.getTel()!=null){sql+=" and tel like ?";params.add("%"+c.getTel()+"%");}if(c.getAge()!=null){sql+=" and age=?";params.add(c.getAge());}System.err.println(">>>>>>:"+sql);System.err.println(params);List<Contact> cs = run.query(sql,new BeanListHandler<Contact>(Contact.class),params.toArray());for(Contact cc:cs){System.err.println(cc);}}

总结

以上是生活随笔为你收集整理的不确定条件的查询的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。