温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring Data JPA怎么实现持久化存储数据到数据库

发布时间:2022-04-28 09:09:44 来源:亿速云 阅读:284 作者:zzz 栏目:开发技术

这篇“Spring Data JPA怎么实现持久化存储数据到数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring Data JPA怎么实现持久化存储数据到数据库”文章吧。

    1.SpringBoot项目整合JPA

    1.1 pom.xml依赖

    <properties>
            <java.version>1.8</java.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-dependencies</artifactId>
                    <version>${spring-boot.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

    1.2 application配置文件

    application.yml文件如下

    # 应用名称
    spring:
      application:
        name: springboot-jpa01
    
      # jpa参数配置
      jpa:
        database: MySQL
        database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
        show-sql: true
        hibernate:
          ddl-auto: update
      # 运行环境设置
      profiles:
        active: dev
    
    # 应用服务 WEB 访问端口
    server:
      port: 8080

    application-dev.yml文件如下

    # 应用名称
    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/yg-jpa?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2B8
        username: root
        password: root

    2.创建实体类

    创建与数据库表映射的实体类,绑定字段之间的对应关系,如下

    package com.kkarma.web.entity;
    
    import com.fasterxml.jackson.annotation.JsonFormat;
    import com.fasterxml.jackson.annotation.JsonIgnore;
    import lombok.Data;
    import org.hibernate.annotations.GenericGenerator;
    import org.springframework.data.annotation.CreatedBy;
    import org.springframework.data.annotation.CreatedDate;
    import org.springframework.data.annotation.LastModifiedBy;
    import org.springframework.data.annotation.LastModifiedDate;
    import org.springframework.format.annotation.DateTimeFormat;
    
    import javax.persistence.*;
    import java.time.LocalDateTime;
    
    /**
     * @Author: karma
     * @Date: 2022/3/31 0031 - 03 - 31 - 15:13
     * @Description: com.kkarma.web.entity
     * @version: 1.0
     */
    @Entity
    @Table(name = "sys_member")
    @Data
    public class Member {
    
        @Id()
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "member_id")
        private Long memberId;
    
        @Column(name = "member_name", unique = true, nullable = false, length = 64)
        private String memberName;
    
        @Column(name = "password", length = 256)
        @JsonIgnore
        private String password;
    
        @Column(name = "dept_id")
        private Integer deptId;
    
        @Column(name = "realname", length = 64)
        private String realName;
    
        @Column(name = "avatar", length = 500)
        private String avatar;
    
        @Column(name = "phone", length = 11)
        private String phone;
    
        @Column(name = "email", length = 64)
        private String email;
    
        @Column(name = "gender", length = 1)
        private Integer gender;
    
        @CreatedDate
        @Column(name = "gmt_create", updatable = false)
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
        private LocalDateTime gmtCreate;
    
        @CreatedBy
        @Column(name = "created_by", updatable = false, length = 64)
        private String createdBy;
    
        @LastModifiedDate
        @Column(name = "gmt_modified")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
        private LocalDateTime gmtModified;
    
        @LastModifiedBy
        @Column(name = "updated_by", length = 64)
        private String updatedBy;
    
        @Column(name = "remark", length = 64)
        private String remark;
    }

    3.启动项目,测试验证

    启动项目成功之后,会自动在数据库中创建数据库表,如果创建数据库表成功,说明JPA框架继承和配置都是OK的。

    Spring Data JPA怎么实现持久化存储数据到数据库

    Spring Data JPA怎么实现持久化存储数据到数据库

    以上就是关于“Spring Data JPA怎么实现持久化存储数据到数据库”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI