• Spring boot 搭配 JPA 生成表注释 和 字段注释


    原文地址:https://blog.csdn.net/qq_39996837/article/details/84717748

    由于在数据库表反向生成过程中呢,需要通过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>
    
    &lt;groupId&gt;com.orange.verify&lt;/groupId&gt;
    &lt;artifactId&gt;builder&lt;/artifactId&gt;
    &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
    &lt;packaging&gt;jar&lt;/packaging&gt;
    
    &lt;name&gt;builder&lt;/name&gt;
    &lt;description&gt;Demo project for Spring Boot&lt;/description&gt;
    
    &lt;parent&gt;
        &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
        &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
        &lt;version&gt;2.1.0.RELEASE&lt;/version&gt;
        &lt;relativePath/&gt; &lt;!-- lookup parent from repository --&gt;
    &lt;/parent&gt;
    
    &lt;properties&gt;
        &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
        &lt;project.reporting.outputEncoding&gt;UTF-8&lt;/project.reporting.outputEncoding&gt;
        &lt;java.version&gt;1.8&lt;/java.version&gt;
    &lt;/properties&gt;
    
    &lt;dependencies&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-starter-data-jpa&lt;/artifactId&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-starter-jdbc&lt;/artifactId&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.mybatis.generator&lt;/groupId&gt;
            &lt;artifactId&gt;mybatis-generator-core&lt;/artifactId&gt;
            &lt;version&gt;1.3.7&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;mysql&lt;/groupId&gt;
            &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
            &lt;version&gt;5.1.40&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt;
            &lt;scope&gt;test&lt;/scope&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;com.baomidou&lt;/groupId&gt;
            &lt;artifactId&gt;mybatis-plus-boot-starter&lt;/artifactId&gt;
            &lt;version&gt;3.0.6&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.projectlombok&lt;/groupId&gt;
            &lt;artifactId&gt;lombok&lt;/artifactId&gt;
            &lt;version&gt;1.16.18&lt;/version&gt;
            &lt;scope&gt;compile&lt;/scope&gt;
        &lt;/dependency&gt;
    &lt;/dependencies&gt;
    
    &lt;build&gt;
        &lt;plugins&gt;
            &lt;plugin&gt;
                &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
                &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt;
            &lt;/plugin&gt;
        &lt;/plugins&gt;
    &lt;/build&gt;
    

    </project>

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76

    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

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.启动类扫描你要生成到数据的实体

    @SpringBootApplication
    @EntityScan(basePackages={"com.orange.verify.entity"})
    public class BuilderApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(BuilderApplication.class, args);
    }
    

    }

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    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;
    

    }

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    在这里插入图片描述
    配置完这些,直接启动项目,就可以生成到数据库了…接下来讲讲在这个过程中学习到的东西了…

    上面大家会发现了,有两个@Table,第一个@table是jpa自带的,第二个是hibernate的,必须结合使用才能生成表注释…
    经过测试,如果把jpa的@table删除,生成,是无反应的(无效的)…

    然后呢,在测试过程中呢,发现…直接注解到属性上面,然后不用写get set也能生成…

          </div>
          <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet">
                  </div>
  • 相关阅读:
    6-6 小球下落 uva679
    6-5 移动的盒子 uva12657
    2-13 如何解决验证码代码实战
    2-11 如何生成用户名
    2-10 输入注册用户名字及获取用户信息.py
    2-9 Expected_conditions源码分析
    2-8 如何使用Expected_conditions判断元素是否可见
    在Excel中将数字设置成文本格式的技巧
    Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
    Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
  • 原文地址:https://www.cnblogs.com/jpfss/p/10895373.html
Copyright © 2020-2023  润新知