spring boot + jpa:自动生成表结构(使用@Entity注解生成)

558 阅读1分钟

步骤

1、引入依赖:spring-boot-starter-data-jpa、spring-data-jpa、mysql-connector-java

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-jpa</artifactId>
  <!--<version>1.11.14.RELEASE</version>-->
</dependency>

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.21</version>
</dependency>

2、添加实体类注解

import javax.persistence.*;

@Entity
@Table(name = "user")
public class OperLog {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    int id;
   
    @Column(name = "username")
    String username;

    @Column(name = "age")
    String age;

	// 省略 setXX/getXX 方法
	...
}

3、application 启动类添加注解

@EntityScan(basePackages = {"com.dao.entity"})  
@EnableJpaRepositories(basePackages = {"com.dao.repository"})

4、然后启动启动类就可以自动生成表了

需要注意的几个地方

1、实体类导入的包是import javax.persistence.*;

2、application类使用注解:(也可以不需要)

@EntityScan(basePackages = {"com.dao.entity"})
@EnableJpaRepositories(basePackages = {"com.dao.repository"})

3、dao、jpa需导入的包:spring-boot-starter-data-jpa、spring-data-jpa、mysql-connector-java

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-jpa</artifactId>
  <!--<version>1.11.14.RELEASE</version>-->
</dependency>

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.21</version>
</dependency>