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' ...
随机推荐
- Javascript实现简单的选项卡
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011043843/article/details/30723933 在线演示:http://jsf ...
- worldpress自定义页面
一:wordpress制作自定义页面的方法 有时候我们需要制作一些个性化的页面,而不是直接用wordpress的page页面模板.这时候我们就需要自已写一个页面出来.下面介绍一下制作流程: 第一步:制 ...
- ORACLE 12C RMAN 功能增强
在ORACLE 12C中对rman的功能有了不少增强,在以前的文章中写过RMAN RECOVER TABLE功能,这里另外补充rman增强的两个小功能(sql语句和数据文件分割)数据库版本 SQL&g ...
- Linux下定时执行任务(crontab命令)
1.循环执行的计划任务 linux下面有atd和crond两种计划任务,其中,atd服务使用的at命令只能执行一次,而crond服务使用的crontab定义的命令,是循环作用的,所以crond才符合我 ...
- JSONUtils的几个常用方法
1.首先新建1个JSONUtils类 public class JSONUtils { /** * * @author wangwei JSON工具类 * @param * */ /*** * 将Li ...
- redis 命令集
进入客户端 /usr/local/bin/redis-cli 选择数据库 select index (0-15) 退出 quit
- POJ 2566 Bound Found(尺取法,前缀和)
Bound Found Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5207 Accepted: 1667 Spe ...
- ansible之感冒药
Ansible简介安装 Ansible是一个综合的强大的管理工具,他可以对多台主机安装操作系统,并为这些主机安装不同的应用程序,也可以通知指挥这些主机完成不同的任务.查看多台主机的各种信息的状态等,a ...
- 关于SQLSERVER的全文目录跟全文索引的区别
很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~ 先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ...
- struts2的搭建和简单的例子(采用struts-2.5.2版本)
struts框架的概述: 当2001年初,Struts的第一个版本在apache网站上发布,它提供了一种分离视图和业务应用逻辑的web应用方案. 在Struts诞生之前,开发人员都是在jsp里写入处理 ...