1. Spring Data课程中的技术介绍
(1) 什么是Hibernate?
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在java的客户端程序使用,也可以在servlet、jsp的web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
(2) 什么是JPA?
是Java Persistence API的简称,中文名是java持久层API,是JDK 5.0注解或xml描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
(3) 什么是Hibernate JPA?
Hibernate在3.2以后根据JPA规范提供了一套操作持久层的API
(4) 什么是Spring Data?
Spring的一个子项目,用于简化数据库访问,支持NoSQL和关系型数据库存储。其主要目标是使数据库的访问变得方便快捷。
(5) 什么是Spring Data JPA?
致力于减少数据访问层(DAO)的开发量。开发者唯一要做的,就只是声明持久层的接口,其他都交给Spring Data JPA来完成。
(6) 什么是Spring Data Redis
是Spring大家族中的一部分,他提供了从Spring应用程序轻松配置和访问Redis的功能。它提供了用于与存储交互的底层和高层抽象,使用户不必担心基础设施。
2. Spring整合Hibernate
(1) 如何在Spring的配置文件中配置DataSource?
<bean
(2) 如何在Spring的配置文件中配置SessionFactory?
<!-- 配置Hibernate的SessionFactory -->
(3) 如何在Spring的配置文件中配置Hibernate的事物管理器?
<!--配置Hibernate的事务管理-->
3. Hibernate添加、修改、删除操作
(1) @Entity注解的作用是什么?
表名该类是一个实体类。
(2) @Table注解的作用是什么?
当实体类与其映射的数据库表名不同名时,需使用@Table注解说明,该注解与@Entity注解并列使用,置于实体类声明语句之前,可写于单独语句行,也可与声明语句同行。
属性:
name:指明数据库的表名。
catalog:设置表所属的数据库目录
schema:数据库模式
(3) @Id注解的作用是什么?
指定主键。
(4) @GeneratedValue注解的作用是什么?
JPA通用策略生成器:
@GeneratedValue(strategy = GenerationType.IDENTITY)主键自动增长
(5) @Column注解的作用是什么?
指定属性名对应的列名。
4. Hibernate-HQL查询
(1) 什么是HQL语言?
Hibernate Query Language
(2) HQL语言的语法是什么?
语法:将原来的SQL语句中的表与字段名称换成对象与其属性的名称。
(3) getCurrentSession与openSession的区别?
getCurrentSession:必须要有事务边界(必须加入事务管理),且只能处理唯一的一个事务。当事务提交或者回滚后,session失效。
openSession:每次都会打开一个新的session,假如每次使用多次,则获得的是不同的session 对象。使用完毕后我们需要手动调用close()关闭session 。
5. Hibernate-SQL查询
(1) 使用SQL查询方式,根据用户姓名查询用户。
@Override
6. Hibernate-QBC查询
(1) 什么是QBC查询?
Query By Criteria
7. hibernate-jpa环境搭建
(1) 什么是JPA?
是Java Persistence API的简称,中文名是java持久层API,是JDK 5.0注解或xml描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
(2) 什么是Hibernate JPA?
Hibernate在3.2以后根据JPA规范提供了一套操作持久层的API
(3) Spring在整合Hibernate JPA时需要添加什么jar包?
(4) 如何配置EntityManagerFactory?
<!-- Spring整合HibernateJPA,配置EntityManagerFactory -->
8. hibernate-jpa中的CRUD操作
(1) @PersistenceContext注解的作用是什么?
注入一堆保存实体类状态的数据结构,针对实体类的不同状态可以做出不同的反应,其实就是把数据从数据库里提出,然后在内存里处理,再返回数据库的法则。
9. hiberante-jpa中的HQL语句
(1) 在Hibernate JAP中通过使用HQL方式,根据用户名查询用户信息。
@Override
10. hibernate-jpa中的SQL语句
(1) 在Hibernate JAP中通过使用SQL方式,根据用户名查询用户信息。
// ?参数绑定:Hibernate中从0开始,Hibernate API中从1开始。
11. hibernate-jpa中的Criteria操作
(1) 在Hibernate JAP中通过使用Criteria方式,根据用户名查询用户信息。
public
12. Spring整合SpringDataJpa
(1) 什么是Spring Data JPA?
致力于减少数据访问层(DAO)的开发量。开发者唯一要做的,就只是声明持久层的接口,其他都交给Spring Data JPA来完成。
(2) Spring Data JPA技术有哪些特点?
我们只需要定义接口 并继承Spring Data JPA中所提供的接口就可以,不需要编写接口实现类。