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' ...
随机推荐
- oracle11g安装(win10)
oracle11g安装(win10) 0.安装环境 1.安装包下载 1)http://www.oracle.com/technetwork/database/enterprise-edition/do ...
- UNIX简化路径
Given an absolute path for a file (Unix-style), simplify it. For example, path = “/home/”, => “/h ...
- bzoj 1927 [Sdoi2010]星际竞速——网络流
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1927 每个点拆点保证只经过一次. 主要是如果经过了这个点,这个点应该向汇点流过去表示经过了它 ...
- MEF学习总结(3)---Attribute Model Programing
上一片介绍了Primitive层,Attribute Model可以认为是对Primitive的上层实现.主要包括如下内容: 1. 一系列的Attribute来定义Import和Export 常用的有 ...
- GNU Radio安装教程: Ubuntu14.04 + uhd3.10.0 + gnuradio3.7.10.1
1. 更新和安装依赖项 在编译安装uhd和gnuradio之前,确保已安装所需依赖项.Ubuntu系统运行: sudo apt-get update 安装UHD和GNURadio所需依赖项: On U ...
- 基于Oracle的EntityFramework的WEBAPI2的实现(二)——使用DbFirst
之所以使用DbFirst而没有使用CodeFirst是因为考虑到现实的情况中,我们之所以会选择oracle而不是SQL SERVER,一方面是因为之前公司已经在使用Oracle,而且有好多我们需要用到 ...
- 学生党成功拿到阿里技术offer:面Java开发,却是C++考官,几个意思?
摘要: 这是我为大家分享的如何拿到阿里技术offer系列文章中的第一篇,今天分享的文章的作者是一位在2015年阿里的校招中成功得到offer的美女学姐,从学姐的这篇文章中我们能学到很多在阿里面试的宝贵 ...
- 华为交换机S5700设置远程ssh telnet登录
AAA是指:authentication(认证).authorization(授权).accounting(计费)的简称,是网络安全的一种管理机制:Authentication是本地认证/授权,aut ...
- [js方法pk]之instanceof() vs isPrototypeOf() hasOwnProperty() vs propertyIsEnumerable()
这几个方法在js的高级编程中经常用到,对于新手来说可能还不知道他们有什么区别,我把我的体会总结下来,供大家参考: 首先,定义一个对象: function Parent() {this.name = & ...
- DataGrid 扩展
//扩展表格,支持上传附件 function extendDataGrid(){ //扩展表格方法,合并单元格 ,参数为数组 $.extend($.fn.datagrid.methods, { aut ...