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' ...
随机推荐
- springboot上传下载文件
在yml配置相关内容 spring: # mvc: throw-exception-if-no-handler-found: true #静态资源 static-path-pattern: /** r ...
- Centos下 yum方式安装LAMP
首先安装apache centos可以直接yum安装apache . 配置网易163 yum源 http://www.cnblogs.com/carbon3/p/5635403.html 一. ...
- (四)、Fiddler打断点
一.打断点是Fiddler一个比较好用的功能,它可以做一些手工操作很难做的事情. 那为什么要打断点? 看下图,Fiddler打开后,Client(客户端)发送的请求会先经过Fiddler,然后Fidd ...
- new String(tmp,1,nlen,"UTF8")
tmp是一个byte(字节)数组,如:['a','b','c'...],tmp[0]是去byte中的第一个,运算符&表示按位运算‘且’,就是前后值的二进制相同位有0取0,否则取1,如:2&am ...
- Android adb push 和 adb pull
将电脑 D 盘 libreference-ril.so 文件拷贝到安卓设备的 /system/lib 目录下 $ adb remount $ adb root $ adb push D:\libref ...
- PHP应用的CI/CD流程实践与学习:一、PHP运行环境的准备
前言:一直以来想学习与实践一下敏捷开发,之前项目虽说口口声声我们项目是敏捷开发,其实很扯. 敏捷开发如果有持续集成.持续部署的支持,那样开发.测试.运维将节省不少精力. 此系列博客只为记录CI/CD的 ...
- Hibernate学习7—Hibernate 映射继承
需求:学生有很多照片,分为生活照和工作照: 第一节:每个具体类对应一个表 Student.java: package com.cy.model; import java.util.Set; publi ...
- Java四舍五入 保留小数
java 四舍五入保留小数 // 方式一: double f = 3.1516; BigDecimal b = new BigDecimal(f); double f1 = b.setScale( ...
- scp 远程复制
1. 上传本地文件到远程机器指定目录 命令: scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/scptest 上传本地 ...
- Linux 之 inotify+rsync 备份文件系统
一.需求 1.线上有不同的机房,并且每个机房所对公网开放端口不一样. 2.A机房中的a机器是台文件服务器,需要备份到B机房中的b机器,以及C机房中的c机器. 3.并且保持实时同步.只要a上面的文件有改 ...