Hibernate 6 种方式实现查询

本文总结了Hibernate中实现查询的六种方法:HQL查询、Criteria对象化查询、DetachedCriteria动态查询、例子查询、SQL查询和命名查询。通过实例代码展示了每种查询方式的用法和适用场景,帮助开发者更好地理解和运用Hibernate进行数据库操作。
摘要由CSDN通过智能技术生成

     昨天刚经历一场校园招聘,中间和很多技术人寰交流,才明白总结的重要性,因为这一阶段一直在写项目,就把项目中用到的东西总结一番,希望

走一路,能留下点儿什么。也许这就是成果。

我很想从现在做起,使自己能够真正享受编程带来的快乐,没有虚荣,没有竞争,没有杂念。
只有快乐,只有充实,只有无悔。当然我说到做到,那篇日志讲的是一个从点到面,从面到点的哲理。
我觉得有必要写一个hibernate的总结性随笔,从点到面,讲讲hibernate查询的6种方法。分别是HQL查询
,对象化查询Criteria方法,动态查询DetachedCriteria,例子查询,sql查询,命名查询

           如果单纯的使用hibernate查询数据库只需要懂其中的一项就可以完成想要实现的一般功能,但是
从一个点,让我们掌握6中方法,则提供了更多选择。每一种方法都有其适用的情况与前提。

HQL查询

HQL是hibernate自己的一套查询语言,于SQL语法不同,具有跨数据库的优点。示例代码:

static void query(String name){
    Session s=null;
    try{
    s=HibernateUtil.getSession();
   //from后面是对象,不是表名
   String hql="from Admin as admin where admin.aname=:name";//使用命名参数,推荐使用,易读。
   Query query=s.createQuery(hql);
   query.setString("name", name);
     List<Admin> list=query.list();
   for(Admin admin:list){
    System.out.println(admin.getAname());
          }
    }finally{
    if(s!=null)
    s.close();
   }
 }


用情况:常用方法,比较传统,类似jdbc。缺点:新的查询语言,适用面有限,仅适用于Hibernate框架。


对象化查询Criteria方法

static void cri(String name,String password){
  Session s=null;
  try{
   s=HibernateUtil.getSession();
   Criteria c=s.createCriteria(Admin.class);
   c.add(Restrictions.eq("aname",name));//eq是等于,gt是大于,lt是小于,or是或
   c.add(Restrictions.eq("apassword", password));

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值