1. 程式人生 > >Spring boot 搭配 菠菜殺大賠小BC網站原始碼出售 JPA 生成表註釋 和 欄位註釋

Spring boot 搭配 菠菜殺大賠小BC網站原始碼出售 JPA 生成表註釋 和 欄位註釋

由於菠菜殺大賠小BC網站原始碼出售dsluntan.com,QQ3393756370在資料庫表反向生成過程中呢,需要通過jpa自動生成表,並且這個表必須有註釋…廢話不多說,直接亮配置…

1.首先這是我的pom.xml配置咯,說明下,只通過jpa生成,下面的lombok,mybatis-plus,generator這三個可以不要(也可以保留),這三個是我測試工程用到的…真正需要的是:jpa,jdbc,mysql

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.orange.verify</groupId>
<artifactId>builder</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>builder</name>
<description>Demo project for Spring Boot</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.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-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.6</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>compile</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>


</project>

2.接下來是我的application.properties配置咯…資料庫名稱自行更改

spring.jpa.show-sql=true
spring.datasource.url=jdbc:mysql://localhost:3306/com_orange_verify_db?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.show_sql=false
3.啟動類掃描你要生成到資料的實體

@SpringBootApplication
@EntityScan(basePackages={"com.orange.verify.entity"})
public class BuilderApplication {

public static void main(String[] args) {
SpringApplication.run(BuilderApplication.class, args);
}
}
4.實體編輯

package com.orange.verify.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

@Entity
@Table(name = "test")
@org.hibernate.annotations.Table(appliesTo = "test",comment="我會有表註釋的喲...")
public class Test implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@Column(nullable = false,columnDefinition = "varchar(100) default '' comment '我是欄位註釋...'")
private String id;

@Column(nullable = false,columnDefinition = "int(2) comment '我是年齡註釋...'")
private Integer age;

}

配置完這些,直接啟動專案,就可以生成到資料庫了…接下來講講在這個過程中學習到的東西了…

上面大家會發現了,有兩個@Table,第一個@table是jpa自帶的,第二個是hibernate的,必須結合使用才能生成表註釋…
經過測試,如果把jpa的@table刪除,生成,是無反應的(無效的)…

然後呢,在測試過程中呢,發現…直接註解到屬性上面,然後不用寫get set也能生成…