数据查询方式
来源:互联网 发布:巴黎散步道 知乎 编辑:程序博客网 时间:2024/05/29 11:45
Hibernate提供的面向对象查询方式,通过正确配置关系,指定查询条件,就可以轻松得到数据,避免冗长sql代码。
Hibernate支持的数据查询方式包括:SQL,HQL,QBC
SQL,通过标准的SQL语句,定义数据查询请求,并通过Hibernate的SQL Query接口传递给数据库,执行SQL查询的步骤:
定义SQL查询指令字符串创建SQL Query接口对象并传递指令将指令执行后的结果集转换为持久化类对象将多个对象集合成list返还代码示例:``` String sqlString="select * from table_test"; SQLQuery query=session.createSQLQuery(sqlString); query.addEntity("table_test",Test.class); List list=query.list();ORString sqlString="select * from table_test";List list=session.createSQLQuery(sqlString).addEntity(sqlString).list();```
HQL(Hibernate Query Language)语法结构类似SQL,它的查询实现步骤:
创建查询对象参数赋值得到查询结果```单一属性查询String hql="select name from Student where age>:tage";List<Student> list=session.createQuery(hql).setInteger("tage",20).list();for(Student s:list){ System.out.println(s);}多属性查询String hql="select name,age from Student where age>:tage";List<Student> list=session.createQuery(hql).setInteger("tage",20).list();for(Student s:list){ System.out.println("姓名为:”+s[0]+",年龄为:“+s[1]);}投影查询String hql="select new Student(name,age) from Student where age>:tage";List<Student> list=session.createQuery(hql).setInteger("tage",20).list();for(Student s:list){ System.out.println("姓名为:”+s.getName()+",年龄为:“+s.getAge());}模糊查询String hql="from Student where name like '%小_'";分组查询利用having,group by查询String hql1="from Student group by age";String hql2="select age from Student group by age";String hql3="select age from Student group by age having count(age)>1";分页查询数据量大时,分页查询可以使得前台页面更加美观Query query = session.createQuery(“from Student as c order by c.id”);query.setFirstResult(5);query.setMaxResults(15);List list = query.list();setFirstResult()设定查询结果的起始位置,从0开始数setMaxResult()设定每次检索出得最大记录数支持连接查询,在HQL中可以使用内链接、外连接、交叉连接```
QBC(Query By Criteria)使用Hibernate的Criteria API进行数据检索方式,通过session类创建Criteria实例,并调用该实例的不同方法进行数据检索。
Criteria是一个装载条件的容器(将查询条件封装为一个Criteria对象),该容器会自动解析查询条件来进行数据检索,非常适合动态查询采用HQL检索方式时,在应用程序中需要定义基于字符串形式的HQL查询语句QBC提供了检索对象的另外一种方式,它主要是由Criteria接口、Criterion接口和Expression类组成,它支持在运行时动态生成查询语句
QBC查询方式的实现步骤:
调用session的createCriteria()方法创建一个Criteria对象 设定查询条件 Expression类提供了一系列用于设定查询条件的静态方法,这些静态方法都返回Criterion实例 每个Criterion实例代表一个查询条件 通过Criteria的add()方法加入查询条件
0 0
- 数据查询方式
- ThinkPHP 查询数据的方式
- django shell 方式数据查询
- 11-hive数据查询方式
- 使用异步回调方式查询数据
- 使用异步回调方式查询数据
- SQLServer采用分页的方式查询数据
- hibernate数据查询的几种方式
- odata查询数据的两种方式
- 查询不同数据库表前几条数据的方式
- 8种json数据查询方式
- Java Hbase数据几种查询方式
- hibernate数据查询的几种方式
- 8种json数据查询方式
- LPC1768之UART0查询方式收发数据
- hibernate数据查询的几种方式
- Hibernate查询数据的几种方式:
- Hibernate查询数据的五种方式
- Sublime Text 3前端开发常用优秀插件介绍
- 用VUE和Bootstrap搭建留言板
- P1140 铺砖块
- Linux基础:网络管理
- Java OOP之继承和方法重写(override)
- 数据查询方式
- 未名
- 1086. Tree Traversals Again (25)
- 图 续2
- 不用额外变量交换两个整数的值
- 3Dmax快捷键
- 深度学习:梯度消失和梯度爆炸
- 1087. All Roads Lead to Rome (30)
- 1088. Rational Arithmetic (20)