springboot继承JPA根据实体类生成数据库中的表

首先搭建springboot框架。搭建完成之后:

1. pom中添加的依赖:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!--mysql-connection-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.15</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </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>

2.  application.yml中配置jpa配置

server:
  port: 8080

spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/h5mall?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: 123456
    hikari:
      minimum-idle: 5
      idle-timeout: 180000
      maximum-pool-size: 10
      auto-commit: true
      pool-name: MyHikariCP
      connection-timeout: 30000
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

其中jpa下的jpa.hibernate.ddl-auto属性值有如下:

ddl-auto:create   (每次运行该程序,没有表格会新建表格,表内有数据会清空)

ddl-auto:create-drop   (每次程序结束的时候会清空表)

ddl-auto:update   (每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新)

ddl-auto:validate(运行程序会校验数据与数据库的字段类型是否相同,不同会报错)

一般情况下选择update,其他属性值慎用!

定义用户实体类,通过注解映射成数据库中的表


import javax.persistence.*;

@Entity
@Table(name = "user")
@Data
public class User {

    @Id
    @GeneratedValue
    private Long id;

    //name属性为表的字段名。length为字段的长度
    @Column(length = 30, name = "userId")
    private String userId;

    @Column(name = "userName", length = 20, columnDefinition="varchar(100) COMMENT '用户名'")
    private String userName;

    @Column(name = "phone", length = 20)
    private String phone;

    @Column(name = "password", length = 30)
    private String password;

    @Column(name = "userRealName", length = 20)
    private String userRealName;

    @Column(name = "address", length = 20)
    private String address;

}

启动springboot项目:

可看到控制台上显示了创建表中的

然后查看数据库中是否生成了对应的表:

END!

发布了102 篇原创文章 · 获赞 49 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/SoWhatWorld/article/details/104851860