一、JPA
JPA全称为Java Persistence API ,Java持久化API是Sun公司在Java EE5规范中提出的Java持久化接口。
JPA吸取了目前Java持久化技术的优点,旨在规范、
简化Java对象的持久化工作。使用JPA持久化对象,并不是依赖于某一个ORM框架。
1 标准化
2 对容器级特性的支持
3 简单易用,集成方便
4 可媲美JDBC的查询能力
二、Springboot持久化配置
2.1 pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2.2 application.properties
spring.datasource.url = jdbc:mysql://localhost:3306/test8?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = 123456
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.jpa.datasource=MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
3.XXXDAO
@Repository("teacherDAO")
public interface TeacherDAO extends JpaRepository<Teacher, Integer> {
}
三、使用Spring Data
3.1 基本的增删改查
3.1.1 添加
bookDAO.save(book);
3.1.2 删除
bookDAO.deleteById(id);
3.1.3 修改
book需要带id
bookDAO.saveAndFlush(book);
3.1.4 查询全部
bookDAO.findAll();
3.1.5 根据id查询
bookDAO.findById(id).get();
3.2 使用Query Creation
Spring Data Jpa通过解析方法名创建查询,框架在进行方法名解析时,会先把方法名多余的前缀find…By, read…By,