首页 > Web开发 > 详细

Hibernate的批量查询——HQL

时间:2019-11-10 11:06:27      阅读:86      评论:0      收藏:0      [点我收藏+]

HQL(Hibernate Query Language)查询:

1、查询所有学生信息:

public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            String hql="from pers.zhb.domain.Student";
            Query query= session.createQuery(hql);
            List<Student>list=query.list();
            System.out.println(list);
            transaction.commit();
            session.close();//游离状态
        }

技术分享图片

 

 2、条件查询(查询所有的女学生的信息):

public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            String hql="from pers.zhb.domain.Student where sex=‘女‘";
            Query query= session.createQuery(hql);
            List<Student>list=query.list();
            System.out.println(list);
            transaction.commit();
            session.close();//游离状态
        }

技术分享图片

 

3、问号占位符的使用:

public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            String hql="from pers.zhb.domain.Student where studentno=?";
            Query query= session.createQuery(hql);
            query.setInteger(0,937221524);
            Student student= (Student) query.uniqueResult();//获取唯一值
            System.out.println(student);
            transaction.commit();
            session.close();
        }
 public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            String hql="from pers.zhb.domain.Student where sex=?";
            Query query= session.createQuery(hql);
            //query.setFetchSize(0,"女");
            query.setParameter(0,"");//通用
            List<Student> list=query.getResultList();
            System.out.println(list);
            transaction.commit();
            session.close();
        }

4、命名占位符:

省去了用数字指明属性位置的麻烦,直接用属性名代替。

public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            String hql="from pers.zhb.domain.Student where sex=:sex";
            Query query= session.createQuery(hql);
            query.setParameter("sex","");//通用
            List<Student> list=query.getResultList();
            System.out.println(list);
            transaction.commit();
            session.close();
        }

技术分享图片

 

5、分页查询:

需要指明从哪开始,要取几条数据:

  public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            String hql="from pers.zhb.domain.Student where sex=:sex";
            Query query= session.createQuery(hql);
            query.setFirstResult(0);//从0开始
            query.setMaxResults(2);//抓取两条数据
            query.setParameter("sex","");//通用
            List<Student> list=query.getResultList();
            System.out.println(list);
            transaction.commit();
            session.close();
        }

技术分享图片

 

 

 

Hibernate的批量查询——HQL

原文:https://www.cnblogs.com/zhai1997/p/11829077.html

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