4、hibernate查询语言(HQL)

1、HQL(Hibernate Query language)

hibernate查询语言:主要用面向对象的思维来编写SQl语句,形成hibernate查询语句

1.1、查询所有:

From order      //order是对象名不是表名

   //查询所有

    public void findAll(){

        //得到seesion

        Session session = YtUserUtils.openSession();



        String hql = "from UserinfoEntity"; //找对象 不是表

        //createQuery 前面是hql,后面是指向要查询的内容

        Query <UserinfoEntity> query = session.createQuery(hql, UserinfoEntity.class);

        //拿到结果集

        List <UserinfoEntity> resultList = query.getResultList();

        //遍历结果集,输出

        for (UserinfoEntity userinfoEntity:resultList) {

            System.out.println(userinfoEntity.getUid() + "\t" + userinfoEntity.getUserName() + "\t" + userinfoEntity.getUserPass());

        }

       

        //关闭session

        session.close();

    }

别名查询: String hql = “select ue from UserInfoEntity ue”;

1.2、分页查询:

//分页查询

    public void findByPage(int start,int size){

        //得到seesion

        Session session = YtUserUtils.openSession();



        String hql = "from UserinfoEntity"; //找对象 不是表

        //createQuery 前面是hql,后面是指向要查询的内容

        Query <UserinfoEntity> query = session.createQuery(hql, UserinfoEntity.class);

        //设置起始位置

        query.setFirstResult(start);  //从0开始

        //设置每次取多少条记录

        query.setMaxResults(size);

        //拿到结果集

        List <UserinfoEntity> resultList = query.getResultList();

        //遍历结果集,输出

        for (UserinfoEntity userinfoEntity:resultList) {

            System.out.println(userinfoEntity.getUid() + "\t" + userinfoEntity.getUserName() + "\t" + userinfoEntity.getUserPass());

        }



        //关闭session

        session.close();

    }

1.3、条件查询:(索引占位符)

//条件查询(索引占位符)

    public void findByIdHql(Integer uid){

        //得到session

        Session session = YtUserUtils.openSession();



        //hql

        String hql = "from UserinfoEntity where uid = ?";

        Query <UserinfoEntity> query = session.createQuery(hql, UserinfoEntity.class);

        //设置参数值

        query.setParameter(0,uid);

        //获取单个对象

        UserinfoEntity userinfoEntity = query.uniqueResult();

        System.out.println(userinfoEntity.getUid() + "\t" + userinfoEntity.getUserName() + "\t" + userinfoEntity.getUserPass());

        //关闭链接

        session.close();

    }

1.4、条件查询:(命名占位符)

 //条件查询(命名占位符)

    public void findByIdHqlByName(Integer uid){

        //得到session

        Session session = YtUserUtils.openSession();

        //hql

        String hql = "from UserinfoEntity where uid =:uid";

        Query <UserinfoEntity> query = session.createQuery(hql, UserinfoEntity.class);

        //设置参数值

        query.setParameter("uid",uid);

        //获取单个对象

        UserinfoEntity userinfoEntity = query.uniqueResult();

        System.out.println(userinfoEntity.getUid() + "\t" + userinfoEntity.getUserName() + "\t" + userinfoEntity.getUserPass());

        //关闭链接

        session.close();

    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值