分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

hibernate查询方式(二)

发布时间:2023-09-06 01:34责任编辑:沈小雨关键词:暂无标签

1.HQL查询(hibernate query language) 操作的是实体类和属性

  *查询所有记录

    

//1.hql查询操作会使用Query对象// ?(1)写sql语句 创建Query对象, ???String hql = "from Student"; ???//from后面是实体类名 ??Query query = session.createQuery("hql");//(2)调用方法得到结果List<Student> list = query.list();//(3)遍历输出for( Student student : list){ ?syso(student.getid()+":::"+student.getname());}

2.条件查询

 *****1.

//1.hql查询操作会使用Query对象// ?(1)写sql语句 创建Query对象, ???String hql = "from Student where id=? and name=?"; ????Query query = session.createQuery("hql");//设置条件值//第一个参数是?的位置 类型是int ?第二个参数是设置的值 ?query.setParameter(0,1); ?query.setParameter(1,"张三");//(3)调用方法得到结果List<Student> list = query.list();//(4)遍历输出for( Student student : list){ ?syso(student.getid()+":::"+student.getname());}

**********2.模糊条件查询

//1.hql查询操作会使用Query对象// ?(1)写sql语句 创建Query对象, ???String hql = "from Student where ?name like ?"; ????Query query = session.createQuery("hql");//设置条件值//第一个参数是?的位置 类型是int ?第二个参数是设置的值//查询以张开头的姓名 ?query.setParameter(0,"张%");//(3)调用方法得到结果List<Student> list = query.list();//(4)遍历输出for( Student student : list){ ?syso(student.getid()+":::"+student.getname());}

  3.排序查询

//1.hql查询操作会使用Query对象// ?(1)写sql语句 创建Query对象,升序查询asc 降序查询desc; ???String hql = "from Student order by cid asc"; ????Query query = session.createQuery("hql");//(3)调用方法得到结果List<Student> list = query.list();//(4)遍历输出for( Student student : list){ ?syso(student.getid()+":::"+student.getname());}

 4.分页查询

    在mysql中实现分页使用关键字limit实现

SELECT * FROM Student ?LIMIT 0,5//0是起始位置 5是显示最多纪录数

   在hibernate中封装了两个方法来实现分页查询的操作

//1.hql查询操作会使用Query对象// ?(1)写sql语句 查询所有 创建Query对象, ???String hql = "from Student"; ????Query query = session.createQuery("hql");//设置分页数据query.setFirstResult(0);query.setMaxResults(5);//(3)调用方法得到结果List<Student> list = query.list();//(4)遍历输出for( Student student : list){ ?syso(student.getid()+":::"+student.getname());}

5.投影查询

    *****查询的是表中的某一字段的所有值

    

//1.hql查询操作会使用Query对象// ?(1)写sql语句 创建Query对象, ???String hql = "select ?name from Student"; ????Query query = session.createQuery("hql");//(3)调用方法得到结果 泛型的类型这里可以是String 如果多个字段的类型不一样 可以写ObjectList<Object> list = query.list();//(4)遍历输出for( Object object : list){ ?syso(object);}

6.聚集函数

*****常见的几种聚集函数  count avg min max sum ;

   在这里演示查询表中的记录数

//1.hql查询操作会使用Query对象// ?(1)写sql语句 创建Query对象, ???String hql = "select count(*) from Student"; ????Query query = session.createQuery("hql");//(3)调用方法得到结果 这里用query对象方法直接返回对象形式 不需要listObject obj = query.uniqueResult();syso(obj);<-- 注意 上面的那个方法返回类型是Object 如果要返回int或者其他类型 ?咱们首先考虑到会进行类型的强转 但是在这里会输出异常 ?异常类型是类型转换异常(ClassCastException) 所以我们要先把Object类型转换成long类型 在转换成Integer类型; Long longO = (Long)obj; int count = longO.intValue();syso(count); ?-->

    

     

hibernate查询方式(二)

原文地址:https://www.cnblogs.com/alex96/p/8214787.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved