首页 > Web开发 > 详细

Hibernate HQL和Criteria

时间:2019-12-22 23:24:09      阅读:102      评论:0      收藏:0      [点我收藏+]

Hibernate HQL和Criteria

  HQL:HQL(Hibernate Query Language)是hibernate专门用于查询数据的语句,有别于SQL,HQL 更接近于面向对象的思维方式。

 1 /**
 2  * ---------HQL查询根据name进行模糊查询--------
 3  
 4  */
 5 public class TestHibernate6 {
 6     public static void main(String[] args) {
 7         SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
 8         Session session = sessionFactory.openSession();
 9         session.beginTransaction();
10         //模糊查询
11         String name="iPhone";
12         //HQL查询SQL语句
13         Query query = session.createQuery("from Product p where p.name like ?");
14         query.setString(0,"%"+name+"%");
15         List<Product> productList = query.list();
16         for (Product product : productList) {
17             System.out.println(product);
18         }
19         //提交时事务
20         session.getTransaction().commit();
21         //关闭
22         session.close();
23         sessionFactory.close();
24     }
25 
26 }

  Criteria:与HQL和SQL的区别是Criteria 完全是 面向对象的方式在进行数据查询,将不再看到有sql语句的痕迹

 1 /**
 2  * ---------Criteria查询根据name进行模糊查询--------
 3  * @author fereli
 4  */
 5 public class TestHibernate7 {
 6     public static void main(String[] args) {
 7         SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
 8         Session session = sessionFactory.openSession();
 9         session.beginTransaction();
10         //模糊查询
11         String name="iPhone";
12         //Criteria的使用
13         Criteria criteria = session.createCriteria(Product.class);
14         criteria.add(Restrictions.like("name","%"+name+"%"));
15         List<Product> productList = criteria.list();
16         for (Product product : productList) {
17             System.out.println(product);
18         }
19         //提交时事务
20         session.getTransaction().commit();
21         //关闭
22         session.close();
23         sessionFactory.close();
24     }
25 
26 }

  两个结果一样:

技术分享图片

Hibernate HQL和Criteria

原文:https://www.cnblogs.com/Fereli/p/12081637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!