hibernate Criteria查询 2.3
2015-04-28 13:06
253 查看
[b]Criteria对象提供了一种面向对象的方式查询数据库。[/b]
[b]Criteria对象需要使用Session对象来获得一个Criteria对象表示对一个[/b]
[b]持久化类的查询[/b]
[b]查询所有[/b]
where
[b]分页[/b]
[b]分组与统计[/b]
[b]多个统计与分组 [/b]
[b]排序 [/b]
------------------------------------------------
------------------------------------------------
[b]当然也可以使用原生sql[/b]
[b]Criteria对象需要使用Session对象来获得一个Criteria对象表示对一个[/b]
[b]持久化类的查询[/b]
[b]查询所有[/b]
Session session = HibernateUtil.getSession(); session.beginTransaction(); Criteria cri = session.createCriteria(User.class); List<User> list = cri.list(); for(User user : list) { System.out.println(user.getId() + " : " + user.getUsername()); } session.getTransaction().commit();
where
//1 Session session = HibernateUtil.getSession(); session.beginTransaction(); Criteria cri = session.createCriteria(User.class); //条件 cri.add(Restrictions.eq("username", "u1")); List<User> list = cri.list(); for(User user : list) { System.out.println(user.getId() + " : " + user.getUsername()); } session.getTransaction().commit(); //2 Session session = HibernateUtil.getSession(); session.beginTransaction(); Criteria cri = session.createCriteria(User.class); //条件 这是and效果 cri.add(Restrictions.eq("username", "u1")); cri.add(Restrictions.eq("password","123")); List<User> list = cri.list(); for(User user : list) { System.out.println(user.getId() + " : " + user.getUsername()); } session.getTransaction().commit(); //3 Session session = HibernateUtil.getSession(); session.beginTransaction(); Criteria cri = session.createCriteria(User.class); //条件 这是or效果 cri.add(Restrictions.or(Restrictions.eq("username", "u1"),Restrictions.eq("username", "jack"))); List<User> list = cri.list(); for(User user : list) { System.out.println(user.getId() + " : " + user.getUsername()); } session.getTransaction().commit(); // like Session session = HibernateUtil.getSession(); session.beginTransaction(); Criteria cri = session.createCriteria(User.class); /*MatchMode.ANYWHERE任何地方 MatchMode.START从开始 MatchMode.END表示u结尾的*/ cri.add(Restrictions.like("username", "u", MatchMode.ANYWHERE)); List<User> list = cri.list(); for(User user : list) { System.out.println(user.getId() + " : " + user.getUsername()); } session.getTransaction().commit();
[b]分页[/b]
cri.setFirstResult(0); cri.setMaxResults(5);
[b]分组与统计[/b]
Creteria cri = session createCriteria(User.class); cri.setProjection(Projections.count("id")); Long count = (Long)cri.uniqueResult(); syso(count);
[b]多个统计与分组 [/b]
Creteria cri = session createCriteria(User.class); ProjectionList pList = Projections.projectionList(); pList.add(Projections.max("id")); pList.add(Projections.min("id")); cri.setProjection(pList); Object[] array = (Object[]) cri.uniqueResult(); System.out.println(array[0] + " : " +array[1]);
[b]排序 [/b]
Session session = HibernateUtil.getSession(); session.beginTransaction(); Criteria cri = session.createCriteria(User.class); cri.addOrder(Order.desc("id")); cri.addOrder(Order.asc("username")); List<User> list = cri.list(); for(User user : list) { System.out.println(user.getId() + " : " + user.getUsername()); } session.getTransaction().commit();
------------------------------------------------
------------------------------------------------
[b]当然也可以使用原生sql[/b]
Session session = HibernateUtil.getSession(); session.beginTransaction(); String sql = "select * from user"; SQLQuery query = session.createSQLQuery(sql); List<Object[]> list = query.list(); for(Object[] array : list) { System.out.println(array[0] + " : " + array[1]); } String sql = "select * from user"; SQLQuery query = session.createSQLQuery(sql).addEntity(User.class); List<User> list = query.list(); for(User user : list) { System.out.println(user.getId() + " : " + user.getUsername()); }
相关文章推荐
- Hibernate Criteria查询
- Hibernate查询之Criteria查询
- hibernate入门(三)Criteria条件查询
- hibernate-criteria查询
- Hibernate createCriteria查询详解
- 使用Hibernate Criteria实现in子查询和exists子查询
- Hibernate的四种查询方式(主键查询,HQL查询,Criteria查询,本地sql查询)和修改和添加
- Hibernate入门26 - Criteria 查询
- 05-Hibernate的条件查询Criteria
- hibernate中的Query查询和criteria查询的区别
- hibernate基础之查询--criteria(条件查询)
- hibernate --Criteria条件查询
- Hibernate的学习之路十八(Criteria的查询简单)
- Hibernate 、Hql查询和Criteria查询
- (详细)Hibernate查询技术(Query、Session、Criteria),Hibernate的三种状态,Hibernate集合struts2实现登录功能(二)
- Hibernate条件查询(Criteria Query)
- Hibernate中createCriteria即QBC查询的详细用法和HQL的区别?
- Hibernate Criteria 查询 出现重复实体
- 应用Hibernate3的DetachedCriteria实现分页查询
- DetachedCriteria离线查询 org.hibernate.criterion.DetachedCriteria; org.hibernate.criterion.Restrictions;