QBC查询语法
QBC查询语法
前言
Hibernate框架中独有的查询语法QBC(Query By Criteria),与HQL相同的是,是一种比HQL更加的面向对象的查询语言。在框架中使用Criteria的实例对数据库的访问,封装了许多的条件查询,让开发者不需要手动打查询语法比HQL更为的简便。
QBC查询语法的使用
通过SessionFactory工厂创建Session实例
Session session = SessionFactory.getCurrentSession();
调用Session实例打开事务
Transaction tx = session.beginTransaction();
创建Criteria实例
Criteria criteria = session.createCriteria(Emp.class);
添加查询语句
criteria.add(Restrictions.eq("id","1"));
Criteria是延迟加载需要提交之前放入集合
List<Emp> emps = criteria.list();
提交事务
tx.commit();
简单的使用示例
public List<Emp> CriteriaEmpCheck(EmpCheck empCheck){
Transaction tx = null;
List<Emp> list = null;
try {
tx = empDao.currSession().beginTransaction();
Criteria criteria = empDao.currSession().createCriteria(Emp.class);
criteria.add(Restrictions.like("ename",empCheck.getEnamelike()));
criteria.add(Restrictions.between("hiredate",
Tool.strToDate(empCheck.getCurrDate(),"yyyy-MM-dd"),
Tool.strToDate(empCheck.getEndDate(),"yyyy-MM-dd")));
criteria.add(Restrictions.between("sal",
empCheck.getCurrSal(),empCheck.getEndSal()));
list = criteria.list();
tx.commit();
}catch (HibernateException e){
e.printStackTrace();
if (tx!=null){
tx.rollback();
}
}catch (Exception e){
e.printStackTrace();
}
return list;
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Slikeの后花园!