-
了解JPA之前扣癣,需要先了解ORM惰帽,什么是ORM?
ORM(Object Relational Mapping):對象關系映射父虑,它是一種設計思想该酗,將數據庫表和實體類對象作一個映射,我們在具體地操作數據庫的時候频轿,不需要再去和復雜的SQL語句打交道垂涯,只要操作實體對象就可以了。
可以理解為自動化持久化航邢。
-
JPA是什么?
JPA(Java Persistence API)Java持久化層應用接口骄蝇,是一套Sun公司Java官方制定的ORM方案膳殷,是一種規(guī)范,它簡化了我們持久化的工作量,也整合了ORM技術赚窃,實現(xiàn)了“一統(tǒng)江湖”册招。
市場上比較主流的JPA實現(xiàn)框架有: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:
業(yè)務層只需要直接調用DAO層的方法,JpaRepository接口中都有常見的CRUD等方法辱匿;如果沒有键痛,則需要手動在DAO接口中根據方法命名規(guī)范定義,JPA在運行期間會產生對應的SQL匾七,將實體對象持久化到數據庫中絮短。