Criteria查询
来源:互联网 发布:扒衣服软件 编辑:程序博客网 时间:2024/06/01 09:33
通过Session得到Criteria类的对象
- /**
- * 用Criteria方便的综合查询 Criteria类有丰富的比较方法
- *
- * 如:大于,小于,等于, not null, in,null, like, isEmpty....
- */
- public static void select()
- {
- Session s = null;
- try
- {
- s = HibernateUtil.getSeesion();
- //得到Criteria对象
- final Criteria c = s.createCriteria(User.class);
- //添加查询条件 ,eq()表示等于,第一个参数是User类上的属性名, 第二个参数是值 .
- c.add(Restrictions.eq("name", "zl"));
- c.add(Restrictions.lt("birthday", new Date())); //lt()表示小于
- //下面两个条件是 或的关系,可以注意观察输出的SQL语句
- c.add(Restrictions.or(Restrictions.eq("name", "wj"), Restrictions.eq("name", "name0")));
- // 分页
- c.setFetchSize(10); //从第10条记录起
- c.setMaxResults(10); //查出10条记录
- //执行查询
- final List<User> list = c.list();
- for (final User u : list)
- {
- System.out.println(u.getId() + " " + u.getName());
- }
- }
- finally
- {
- s.clear();
- }
- }
DetachedCriteria 在构造时不须要Session对象,可以在没有Session时完成拼接查询条件,要执行时才须要Session对象
- //在Action中 拼查询条件
- public ActionForward Action (....)
- {
- DetachedCriteria dc = DetachedCriteria.forClass(User.class);
- String name = request.getParameter("name");
- //拼查询条件
- if (name != null)
- dc.add(Restrictions.eq("name", name));
- int age = request.getParameter("age");
- if(age > 0)
- dc.add(Restrictions.eq("age", age));
- List users = query(dc);
- }
- //在DAO层 查询
- static List query(DetachedCriteria dc)
- {
- Session s = HibernateUtil.getSession();
- Criteria c = dc.getExecutableCriteria(s); //这时须要一个session
- List rs = c.list();
- s.close();
- return rs;
- }
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria查询
- Criteria 进阶查询
- Criteria 进阶查询
- Hibernate Criteria 关联查询
- Hibernate4 Criteria查询
- hibernate 动态查询 Criteria
- Criteria 基本查询
- Hibernate 中的 Criteria 查询。
- 【设计模式攻略】序
- C++数组进阶——二维数组的应用及行列互换存储思路,擂台法求最大值
- Struts2 自定义标签
- 【设计模式攻略】OO设计原则之SRP-单一职责原则
- SQL2005CTE做无标识重复记录删除,让你的sql看起来更简单
- Criteria查询
- 装饰器(Decorator)模式
- Kickstarter改变了世界融资及发起项目的方式
- 单个字符在内存中的存储
- GIS 地图相关资料
- gcc 后缀名
- 算法的时间性能分析
- J2ME平台的的RPG游戏开发历程(1)-盘古开天辟地,j2me创造游戏世界
- C语言中的指针与数组