Hibernate其它API
----------------siwuxie095
(一)Query
1、使用 Query 对象执行查询操作,不需要写 sql 语句,但是要写 hql 语句
(1)hql:即 Hibernate Query Language,它是 Hibernate 提供的查询语言
(2)hql 语句和 sql 语句很相似
(3)hql 和 sql 语句的区别:
1)使用 sql 语句操作的是表和表中字段
2)使用 hql 语句操作的是实体类和属性
2、"查询所有记录" 的 hql 语句
from 实体类名
3、实现过程
(1)创建 Query 对象
(2)调用 Query 对象的方法得到结果

|
//(1) 创建 Query 对象 // //调用 session 的 createQuery() 方法, //参数是 hql 语句,返回值是 Query 类型, //创建以接收 Query query=session.createQuery("from User"); //(2) 调用 Query 对象的方法得到结果 // //调用 query 的 list() 方法得到结果, //返回值是 List 类型,创建以接收,并 //指定泛型为 User List<User> list=query.list(); for (User user : list) { System.out.println(user); } |
(二)Criteria
1、使用 Criteria 对象执行查询操作,不需要写语句,直接调用方法实现
2、实现过程
(1)创建 Criteria 对象
(2)调用 Criteria 对象的方法得到结果

|
//(1) 创建 Criteria 对象 // //调用 session 的 createCriteria() 方法, //参数是实体类的 class,返回值是 Criteria //类型,创建以接收 Criteria criteria=session.createCriteria(User.class); //(2) 调用 Criteria 对象的方法得到结果 // //调用 criteria 的 list() 方法得到结果, //返回值是 List 类型,创建以接收,并指定 //泛型为 User List<User> list=criteria.list(); for (User user : list) { System.out.println(user); } |
(三)SQLQuery
1、使用 SQLQuery 对象执行查询操作,可以调用底层 sql 语句实现
2、实现过程
(1)创建 SQLQuery 对象
(2)调用 SQLQuery 对象的方法得到结果

|
//(1) 创建 SQLQuery 对象 // //调用 session 的 createCriteria() 方法, //参数是 sql 语句,返回值是 SQLQuery 类型, //创建以接收 SQLQuery sqlQuery=session.createSQLQuery("select * from t_user"); //(2) 调用 SQLQuery 对象的方法得到结果 // //调用 sqlQuery 的 list() 方法得到结果, //返回值是 List 类型,创建以接收 // //注意:此时返回的 List 的每部分都是一 //个数组,而不是 User 对象,所以指定泛型 //为 Object[] List<Object[]> list=sqlQuery.list(); for (Object[] objects : list) { //Arrays.toString() 将数组作为字符串输出 System.out.println(Arrays.toString(objects)); } |
修改:让返回的 List 中每部分都是一个 User 对象

|
SQLQuery sqlQuery=session.createSQLQuery("select * from t_user"); //让返回的 List 中每部分都是一个 User 对象 // //调用 sqlQuery 的 addEntity() 方法,参数 //是实体类的 class,设置要将数据放到哪个实 //体类的对象中 sqlQuery.addEntity(User.class); List<User> list=sqlQuery.list(); for (User user : list) { System.out.println(user); } |
【made by siwuxie095】
Hibernate其它API的更多相关文章
- Hibernate5笔记3--详解Hibernate的API
详解Hibernate的API: (1)Configuration接口: org.hibernate.cfg.Configuration接口的作用是加载主配置文件及映射文件,以实现对Hibernate ...
- Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析--csdn 曹胜欢
新接触一个框架的目的就是想利用这个框架来为我们做一些工作,或者是让他来简化我们的工作,利用这个框架无非就是要利用这个框架所给我们提供的API去操作我们的数据,所以利用一个框架的好坏很大一部分取决于你对 ...
- java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)
1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件 准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...
- hibernate常用API详解
根据个人使用Hibernate的经验,介绍一下Hibernate的多种不同的查询和CUD操作,这些东西在日常开发中非常常用,希望对大家有所帮助. 以下示例均以两张表为例:member和userinfo ...
- 简单了解Hibernate核心API
一.SessionFactory 1.它代表的是数据库的连接,其实就是在hibernate.cfg.xml文件中的配置信息 2.可以预定义SQL语句 3.SessionFactory是线程安全的,它维 ...
- Hibernate基础学习(二)—Hibernate相关API介绍
一.Hibernate的核心接口 所有的Hibernate应用中都会访问Hibernate的5个核心接口. (1)Configuration接口: 配置Hibernate,启动Hi ...
- Hibernate的Api以及三种查询方式
Hibernate Api |-- Configuration 配置管理类对象 config.configure(); 加载主配置文件的方法(hibernate.cfg.xml) ...
- ( 转)Hibernate常用API
http://blog.csdn.net/yerenyuan_pku/article/details/65103203 可在度娘上摘抄如下文字: Hibernate的核心类和接口一共有6个,分别为:S ...
- Hibernate常用api以及增删改查
一 .API的定义 所谓的API全称就是(Application Programming Interface,应用程序编程接口).就是类库对外提供的接口.类.枚举.注解等元素. 如:JDK API ...
- Use Hibernate core API
For Hibernate configuration, We can use hibernate.cfg.xml file to configure: <?xml version='1.0' ...
随机推荐
- PADS VBA 编写笔记
PADS VBA 编写笔记 由于 PADS 的中编码不是 utf8 的,所以在编写时放到 PADS 中会出现乱码. 有时会使用中文注释,但是当以中文注释结尾时就会出现错误,于是就如果结尾是以英文就没问 ...
- 5.JMeter测试mysql数据库
1.使用jmeter测试mysql数据库时,需要导入jar包,jar包网盘地址为:链接: https://pan.baidu.com/s/1-5-s7HccudT4GirpmBVn6Q 密码: bea ...
- MEF学习总结(1)---总体架构
用了很久的MEF框架来做依赖注入,最近想把它的原理和机构总结一下,主要包括如下几个方面: 1. 总体架构 2. .Net Composition Primitive 3. Attribute Mode ...
- Request.UrlReferrer详解
使用前需要进行判断: if (Request != null && Request.UrlReferrer != null && Request.UrlReferrer ...
- 批量修改文件名的bash脚本
#!/bin/bash while IFS='' read -r line || [[ -n "$line" ]]; do # echo "sox $line --cha ...
- Netty--使用TCP协议传输文件
简介: 用于将文件通过TCP协议传输到另一台机器,两台机器需要通过网络互联. 实现: 使用Netty进行文件传输,服务端读取文件并将文件拆分为多个数据块发送,接收端接收数据块,并按顺序将数据写入文件. ...
- python 生成器和生成器表达式
1.生成器 生成器的本质就是迭代器 生成器的特点和迭代器一样.取值方式和迭代器一样(__next__(),send():给上一个yield传值) 生成器一般由生成器函数或者生成器表达式来创建 其实就是 ...
- python接口自动化22-签名(signature)鉴权(authentication)之加密(HEX、MD5、HMAC-SHA256)
前言 开放的接口为了避免被别人乱调用,浪费服务器资源,这就涉及到签名(Signature)加密了 API 使用签名方法(Signature)对接口进行鉴权(Authentication).每一次请求都 ...
- node的socket.io的之基本使用方法.
使用socket.io的使用创建一个socket.io服务器即可.但是该服务器依赖于一个已经创建的http服务器. 在http服务器运行之后,使用listen方法为该http服务器附加一个socket ...
- VRF实例说明
Virtual Routing Forwarding VPN路由转发表,也称VPN-instance(VPN实例),是PE为直接相连的site建立并维护的一个专门实体,每个site在PE上 ...