criteria的使用

发表时间:2017-05-17 17:29:55 浏览量( 22 ) 留言数( 0 )

学习目标:

1、掌握criteria的使用


学习过程:

除了hql外,hibernate提供了更加面向对象的方式查询数据库,就是用criteria。criteria可以使用更加面向对象的方式查询数据库,就算你不会写sql语句也可以实现非常复杂的数据库查询,我们可以通过添加约束的方式就可以实现条件查询了。示例代码如下:

public class Run9 {

	public static List<Employee> getEmps(String empName) {
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		// 开启一个事务
		session.beginTransaction();

		Criteria criteria = session.createCriteria(Employee.class);

		// 添加约束
		if (empName != null && !empName.trim().equals("")) {
			criteria.add(Restrictions.like("employeeName", empName, MatchMode.ANYWHERE));
		}

		criteria.add(Restrictions.between("employeeWeith", 1D, 30D));

		criteria.addOrder(Order.asc("employeeWeith"));

		List<Employee> ems = criteria.list();

		// 提交事物
		session.getTransaction().commit();
		session.close();

		HibernateUtil.getSessionFactory().close();

		return ems;

	}

	public static void main(String[] args) {

		List<Employee> employees = getEmps("liuba");

		for (Employee e : employees) {
			System.out.println(e.getEmployeeName());
		}

	}
}