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' ...
随机推荐
- caddy server 默认https && http2的验证
1. 下载 https://caddyserver.com/ 注意选择应该包含的模块,此次包含了git 插件 2. 配置 使用 Caddyfile 内容如下: ro ...
- SQL语句 合并列值 将一列的多个值合并成一行
效果: oralce写法: select WM_CONCAT(A.title) as citys from tmpcity A sql server写法: select stuff((select ' ...
- NGUI中LabelA停靠LabelB的方法
详情看 http://note.youdao.com/noteshare?id=ec901d56341207052b2d19233b5ddba3 这里仅仅贴出文字,完整内容请看上面链接. 有这样一个需 ...
- opatch lsinventory –details
今天把RAC的数据库升完级后,在RAC1节点执行opatch lsinventory –detail 命令,没有报错.在rac2节点执行报错: [oracle@rac2 ~]$ opatch lsin ...
- apache 自定义404错误页面
1.有些提供web服务的网站,在用户访问一个不存在的网站文件时,会提示404错误,如下所示: 现在要求自定义一个错误页面,也就是出现404错误代码时,跳转到我们自定义的网址上.下面记录下方法: 1.编 ...
- Julia - 整数型
所有的基础数据类型通过灵活用户可扩展的类型提升系统 ,不需显式类型转换,就可以互相运算 整数的默认类型,取决于系统是 32 位还是 64 位 julia> typeof(1) # 32 位系统 ...
- Tkinter Fonts(字体)
Python GUI - Tkinter Fonts:作为一个tuple的第一个元素是字体家族,一个点的大小,可选择一个字符串,包含一个或更多的粗体,斜体,下划线的样式修饰符,加粗. 最多可能有三 ...
- DDoS攻防战 (四):CC攻击防御系统部署
1. 系统效果 此DDOS应用层防御系统已经部署在了http://www.yfdc.org网站上(如果访问失败,请直接访问位于国内的服务器http://121.42.45.55进行在线测试). 此防御 ...
- 「小程序JAVA实战」小程序头像图片上传(下)(45)
转自:https://idig8.com/2018/09/09/xiaochengxujavashizhanxiaochengxutouxiangtupianshangchuan44/ 接下来,我们应 ...
- 用django实现redirect的几种方法总结
用django开发web应用, 经常会遇到从一个旧的url转向一个新的url.这种隐射也许有规则,也许没有.但都是为了实现业务的需要.总体说来,有如下几种方法实现 django的 redirect.1 ...