-
了解JPA之前,需要先了解ORM,什么是ORM?
ORM(Object Relational Mapping):对象关系映射,它是一种设计思想,将数据库表和实体类对象作一个映射,我们在具体地操作数据库的时候,不需要再去和复杂的SQL语句打交道,只要操作实体对象就可以了。
可以理解为自动化持久化。
-
JPA是什么?
JPA(Java Persistence API)Java持久化层应用接口,是一套Sun公司Java官方制定的ORM方案,是一种规范,它简化了我们持久化的工作量,也整合了ORM技术,实现了“一统江湖”。
市场上比较主流的JPA实现框架有:Hibernate、TopLink等。
-
SpringBoot框架集成JPA(底层采用Hibernate)
-
核心关注点:实体类
@Entity // 标注当前类为持久化层的实体类:该类型的对象,可以进行ORM操作 @Table(name = "user_info") // 标注当前实体类对应的数据库表名 public class User { @Id // 标注当前属性为主键字段 @GeneratedValue(strategy = GenerationType.IDENTITY) // 标注当前主键的生成方式 @Column(name = "user_id") // 标注当前属性对应的"数据表中的字段名称" private Integer userId; @Column(name = "login_phone_number") private String loginPhoneNumber; }
-
数据访问层组件(DAO)
/** * 用户数据访问层接口 * 1.该接口需继承JpaRepsoitory接口 * 2.必须指定泛型(实体类类型 + 主键类型) */ @Repository public interface IUserDAO extends JpaRepository<User, Integer> { }
-
配置datasource数据源(SpringBoot主配置文件中)
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: username: password:
业务层只需要直接调用DAO层的方法,JpaRepository接口中都有常见的CRUD等方法;如果没有,则需要手动在DAO接口中根据方法命名规范定义,JPA在运行期间会产生对应的SQL,将实体对象持久化到数据库中。