----------------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的更多相关文章

  1. Hibernate5笔记3--详解Hibernate的API

    详解Hibernate的API: (1)Configuration接口: org.hibernate.cfg.Configuration接口的作用是加载主配置文件及映射文件,以实现对Hibernate ...

  2. Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析--csdn 曹胜欢

    新接触一个框架的目的就是想利用这个框架来为我们做一些工作,或者是让他来简化我们的工作,利用这个框架无非就是要利用这个框架所给我们提供的API去操作我们的数据,所以利用一个框架的好坏很大一部分取决于你对 ...

  3. java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)

    1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...

  4. hibernate常用API详解

    根据个人使用Hibernate的经验,介绍一下Hibernate的多种不同的查询和CUD操作,这些东西在日常开发中非常常用,希望对大家有所帮助. 以下示例均以两张表为例:member和userinfo ...

  5. 简单了解Hibernate核心API

    一.SessionFactory 1.它代表的是数据库的连接,其实就是在hibernate.cfg.xml文件中的配置信息 2.可以预定义SQL语句 3.SessionFactory是线程安全的,它维 ...

  6. Hibernate基础学习(二)—Hibernate相关API介绍

    一.Hibernate的核心接口      所有的Hibernate应用中都会访问Hibernate的5个核心接口.      (1)Configuration接口: 配置Hibernate,启动Hi ...

  7. Hibernate的Api以及三种查询方式

    Hibernate  Api |-- Configuration       配置管理类对象 config.configure();    加载主配置文件的方法(hibernate.cfg.xml) ...

  8. ( 转)Hibernate常用API

    http://blog.csdn.net/yerenyuan_pku/article/details/65103203 可在度娘上摘抄如下文字: Hibernate的核心类和接口一共有6个,分别为:S ...

  9. Hibernate常用api以及增删改查

    一   .API的定义 所谓的API全称就是(Application Programming Interface,应用程序编程接口).就是类库对外提供的接口.类.枚举.注解等元素. 如:JDK API ...

  10. Use Hibernate core API

    For Hibernate configuration, We can use hibernate.cfg.xml file to configure: <?xml version='1.0' ...

随机推荐

  1. caddy server 默认https && http2的验证

    1. 下载     https://caddyserver.com/   注意选择应该包含的模块,此次包含了git 插件   2. 配置    使用 Caddyfile    内容如下:     ro ...

  2. SQL语句 合并列值 将一列的多个值合并成一行

    效果: oralce写法: select WM_CONCAT(A.title) as citys from tmpcity A sql server写法: select stuff((select ' ...

  3. NGUI中LabelA停靠LabelB的方法

    详情看 http://note.youdao.com/noteshare?id=ec901d56341207052b2d19233b5ddba3 这里仅仅贴出文字,完整内容请看上面链接. 有这样一个需 ...

  4. opatch lsinventory –details

    今天把RAC的数据库升完级后,在RAC1节点执行opatch lsinventory –detail 命令,没有报错.在rac2节点执行报错: [oracle@rac2 ~]$ opatch lsin ...

  5. apache 自定义404错误页面

    1.有些提供web服务的网站,在用户访问一个不存在的网站文件时,会提示404错误,如下所示: 现在要求自定义一个错误页面,也就是出现404错误代码时,跳转到我们自定义的网址上.下面记录下方法: 1.编 ...

  6. Julia - 整数型

    所有的基础数据类型通过灵活用户可扩展的类型提升系统 ,不需显式类型转换,就可以互相运算 整数的默认类型,取决于系统是 32 位还是 64 位 julia> typeof(1) # 32 位系统 ...

  7. Tkinter Fonts(字体)

    Python GUI - Tkinter Fonts:作为一个tuple的第一个元素是字体家族,一个点的大小,可选择一个字符串,包含一个或更多的粗体,斜体,下划线的样式修饰符,加粗.   最多可能有三 ...

  8. DDoS攻防战 (四):CC攻击防御系统部署

    1. 系统效果 此DDOS应用层防御系统已经部署在了http://www.yfdc.org网站上(如果访问失败,请直接访问位于国内的服务器http://121.42.45.55进行在线测试). 此防御 ...

  9. 「小程序JAVA实战」小程序头像图片上传(下)(45)

    转自:https://idig8.com/2018/09/09/xiaochengxujavashizhanxiaochengxutouxiangtupianshangchuan44/ 接下来,我们应 ...

  10. 用django实现redirect的几种方法总结

    用django开发web应用, 经常会遇到从一个旧的url转向一个新的url.这种隐射也许有规则,也许没有.但都是为了实现业务的需要.总体说来,有如下几种方法实现 django的 redirect.1 ...