hibernate封装查询,筛选条件然后查询
2015-09-15 23:22
489 查看
// 封装查询条件 @Test public void transmitParameter() { Map map = new HashMap<String, String>(); // map.put("sid", "1"); map.put("s_name", ""); test1(Student.class, map); // 可能会根据筛选来查询!有的条件可能值为空 } public void test1(Class classs, Map<String, String> p) { Session session = startCfg.getSession(); Transaction t = session.beginTransaction(); // 拼接sql语句 StringBuffer sb = new StringBuffer(); sb.append("from " + session.getSessionFactory().getClassMetadata(classs) .getEntityName() + " where 1=1 "); // 搜索哪些字段要根据map来添加 for (Entry<String, String> entry : p.entrySet()) { if (!entry.getValue().equals("")) { sb.append(" and " + entry.getKey() + "=:" + entry.getKey()); } } Query query = session.createQuery(sb.toString()); for (Entry<String, String> entry : p.entrySet()) { if (!entry.getValue().equals("")) { query.setParameter(entry.getKey(), entry.getValue()); } } List list = query.list(); System.out.println(list.toString()); t.commit(); }
相关文章推荐
- 2015.9.15 自定义异常的完整练习
- HashMap遍历 key value
- 详解java类的生命周期
- 零基础学python-17.1 参数的传递快速入门
- Elastic-Job - 分布式定时任务框架
- 零基础学python-17.1 参数的传递快速入门
- [phonegap]安装phonegap
- 那些年我们追过的网络库(PartI)
- ugly number
- 基于深层神经网络的命名实体识别技术
- 前端优化
- 模板 高精度 转自郭爷
- hdu5437 Alisha’s Party 优先队列
- CoffeeScript入门
- Android studio中正确引入so文件的方法
- 【leetcode】Valid Parentheses
- jni中文字符串乱码的处理方法
- CodeForces 576A - Vasya and Petya's Game
- FP_growth算法
- 求List集合的并集、交集、差集