JPA(Java Persistence API)是Sun官方提出的Java持久化规范。
它的出现主要是为了简化现有的持久层化开发工作,Hibernate就是一个很典型的JAP的实现。
Spring data spa 是在JPA规范下提供了持久层的实现(也就是我们常说的dao层),
虽然ORM框架都实现了JPA的规范,但是在不同的ORM框架之间切换需要编写不同的代码, 而通过使用Spring data jpa 可以不需要掌握持久层的框架的太多技术。并且Spring data jpa 对持久层的封装很好,几乎不用编写代码,或编写很少的代码就能实现数据访问,使用起来很方便。
废话就这些,接下来上干货:
本过程maven环境下,gradle同理,注意jar包版本即可:
1.添加相关的依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
2.在application.properties配置文件中添加相关配置。写了几种常用配置,自由可选
# Tomcat server.tomcat.max-threads=1000 server.tomcat.min-spare-threads=30 server.port=8081 ### mysql spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url= jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 spring.datasource.username=root spring.datasource.password=root #JPA配置 spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update ##乱码【配置 http: encoding: charset: UTF-8 force: true enabled: true
3.接下来就是创建数据库,定义持久化对象了;对象定义如下
@Entity public class Book { @Id @GeneratedValue(strategy = GenerationType.AUTO)//自动选择一个最适合底层数据库的主键生成策略 private Long bookId; |
也可以自定义表名和列名
@Entity(name="t_book") public class Book { @Id @Column(name="id") @GeneratedValue(strategy = GenerationType.AUTO)//自动选择一个 |