Hibernate查询示例大全

欣喜 Hibernate 发布时间:2024-02-22 09:54:53 阅读数:2343 1
下文笔者讲述Hibernate查询操作的方法及示例大全,如下所示
 使用 HibernateSessionFactory.getSession().createQuery 
         即可实现数据查询操作
例:hibernate数据查询
        /**
         *  一、Session查询
         *   get()在无主键的情况下返回null
         *   load()在无主键的情况下会产生异常
         **/

          HibernateSessionFactory.getSession().get(UserInfo.class, "id-a");
          HibernateSessionFactory.getSession().load(UserInfo.class, "id-b");
 
         二、Query查询 
         //UserInfo是pojo类的名称 
          String hql="from UserInfo as a";  // 返回类型:list<UserInfo>
          String hql="select a.userid from UserInfo as a";//返回类型:List<String>      
          String hql="select a.userid,a.name,a.sex from UserInfo as a";//返回类型:List<Object[]>
          
          //将查询后的结果转换为指定的vo类型,是根据查询返回列的名称自动匹配的
          query.setResultTransformer(new AliasToBeanResultTransformer(UserInfo.class));
        
          
          /**
           * 限定查询
           */
          String kw="java265";
          String hql="from UserInfo as a where a.age=? and a.userid like ?";
          Query query = HibernateSessionFactory.getSession().createQuery(hql);
          //设值 (索引从0开始)
          query.setParameter(0, 10);
          query.setParameter(1, "%"+kw+"%");
          List list = query.list();
          
          /**
           * 统计查询
           */
          String kw="java265";
          String hql="select count(*) from UserInfo as a where a.age=? and a.userid like ?";
          Query query = HibernateSessionFactory.getSession().createQuery(hql);
          //设值 (索引从0开始)
          query.setParameter(0, 10);
          query.setParameter(1, "%"+kw+"%");
          Object obj = query.uniqueResult();
      
          
          /**
           * 分页查询
           */
          int currentPage=1;
          int lineSize=2;
          String hql="from UserInfo as a";
          Query query = HibernateSessionFactory.getSession().createQuery(hql);
          query.setFirstResult((currentPage-1)*lineSize);
          query.setMaxResults(lineSize);
          List list = query.list();
          
          /**
           * 分组查询
           */
          String hql="select a.sex, count(*) from UserInfo as a where a.age=?  group by a.sex";
          Query query = HibernateSessionFactory.getSession().createQuery(hql);
          //设值 (索引从0开始)
          query.setParameter(0, 10);
          List list = query.list();
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Hibernate/202402/8018.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者