Hibernate查询方式 (HQL查询)

Hibernate查询方式

第一种

HQL

条件查询;建议使用字符串的占位符的方式

分页查询:setFirstResult 第几个开始setMaxResults查找几个

最大的特点是封装了sql 语句,在查找使用的是类名和类的属性名

1.基础查询

//基础查询
   @Test
    public void testFun(){
       Session session = HibernateUtil.getOpenSession();
       Transaction transaction = session.beginTransaction();
//Hql查询
       String hql = "from Student";
       Query query = session.createQuery(hql);

       List<Student>list = query.list();


       transaction.commit();
       System.out.println(list);
       session.close();
   }

2.条件查询 占位符

public void testFun1(){
       Session session = HibernateUtil.getOpenSession();
       Transaction transaction = session.beginTransaction();
     //hql 语法 中的查找用的是类名和类的属性名
       String hql = "from Student where name =?";
       Query query = session.createQuery(hql);
//hql的占位符是从零开始的
      query.setParameter(0,"傻强");
       List list = query.list();
       System.out.println(list);
       transaction.commit();
       session.close();
   }

3.条件查询 字符串 占位符

public void  testFun2(){
        Session session = HibernateUtil.getOpenSession();
        Transaction transaction = session.beginTransaction();

        String hql = "from Student where name = :name";
        Query query = session.createQuery(hql);

        query.setParameter("name","傻强");
        List<Student> list = query.list();
        System.out.println(list);


        transaction.commit();
        session.close();
    }

4.分页查询

public void testFun3(){
        Session session = HibernateUtil.getOpenSession();
        Transaction transaction = session.beginTransaction();

        String hql = "from Student";
        Query query = session.createQuery(hql);

        query.setFirstResult(0);//从第0开始,开始位置
        query.setMaxResults(2);//找的个数
        List<Student> list = query.list();
        System.out.println(list);
        transaction.commit();
        session.close();

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值