import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.criterion.Order; import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; import com.pojo.Customer; import com.utils.HibernateUtils; public class CriteriaDemo { public static void main(String[] args) { //fun1(); //fun2(); //fun3(); //fun4(); fun5(); } //基本语法 public static void fun1(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); Criteria criteria = session.createCriteria(Customer.class); List<Customer> list = criteria.list(); System.out.println(list); tx.commit(); session.close(); } //条件语法 public static void fun2(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); Criteria criteria = session.createCriteria(Customer.class); //criteria.add(Restrictions.idEq(2l)); criteria.add(Restrictions.eq("cust_id", 2l)); Customer result = (Customer) criteria.uniqueResult(); //List<Customer> result = criteria.list(); System.out.println(result); tx.commit(); session.close(); } //分页语法 public static void fun3(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); Criteria criteria = session.createCriteria(Customer.class); criteria.setFirstResult(1); criteria.setMaxResults(2); List<Customer> list = criteria.list(); System.out.println(list); tx.commit(); session.close(); } //排序语法 public static void fun4(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); Criteria criteria = session.createCriteria(Customer.class); //criteria.addOrder(Order.asc("cust_id")); criteria.addOrder(Order.desc("cust_id")); List<Customer> list = criteria.list(); System.out.println(list); tx.commit(); session.close(); } //统计语法 public static void fun5(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); Criteria criteria = session.createCriteria(Customer.class); criteria.setProjection(Projections.rowCount()); //List<Number> count = criteria.list(); Number count = (Number) criteria.uniqueResult(); System.out.println(count); tx.commit(); session.close(); } }
转载请标明出处:Criteria语法
文章来源: https://blog.csdn.net/luxin120/article/details/89714623