SpringBoot集成JPA

  • 了解JPA之前,需要先了解ORM,什么是ORM?

ORM(Object Relational Mapping):对象关系映射,它是一种设计思想,将数据库表和实体类对象作一个映射,我们在具体地操作数据库的时候,不需要再去和复杂的SQL语句打交道,只要操作实体对象就可以了。

可以理解为自动化持久化。

  • JPA是什么?

JPA(Java Persistence API)Java持久化层应用接口,是一套Sun公司Java官方制定的ORM方案,是一种规范,它简化了我们持久化的工作量,也整合了ORM技术,实现了“一统江湖”。

市场上比较主流的JPA实现框架有:Hibernate、TopLink等。

  • SpringBoot框架集成JPA(底层采用Hibernate)

  1. 核心关注点:实体类

    @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;
    }
    
  2. 数据访问层组件(DAO)

    /**
     * 用户数据访问层接口
     * 1.该接口需继承JpaRepsoitory接口
     * 2.必须指定泛型(实体类类型 + 主键类型)
     */
    @Repository
    public interface IUserDAO extends JpaRepository<User, Integer> {
        
    }
    
  3. 配置datasource数据源(SpringBoot主配置文件中)

    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: 
        username: 
        password: 
    

业务层只需要直接调用DAO层的方法,JpaRepository接口中都有常见的CRUD等方法;如果没有,则需要手动在DAO接口中根据方法命名规范定义,JPA在运行期间会产生对应的SQL,将实体对象持久化到数据库中。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容