在使用generator 进行逆向工程时,一下为步骤

  1. 添加mybatis generator的maven插件依赖
  2. 添加mybatis generator的配置文件:generatorConfig.xml
  3. 运行maven build: mybatis-generator:generate,生成代码

1在pom.xml中的build > plugins下添加依赖

<!-- generator -->
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.7</version>
    <configuration>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.20</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</plugin>

 

2添加配置文件

在该路劲下

 

 

 

 

添加

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPEgeneratorConfiguration
        PUBLIC"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--导入配置文件-->
    <properties resource="application.properties"></properties>
    <!-- 一个数据库一个context -->
    <context id="default">
        <!-- 注释生成设置 -->
        <commentGenerator>
            <!-- 是否生成注释代时间戳-->
            <property name="suppressDate" value="true" />
            <!-- 是否取消注释 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--jdbc的数据库连接-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/demo?serverTimezone=CST" userId="root" password="root">
            <property name="nullCatalogMeansCurrent" value="true" />
        </jdbcConnection>
        <!-- 类型转换 -->
        <javaTypeResolver>
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!-- targetPackage:生成的实体类所在的包 -->
        <!-- targetProject:生成的实体类所在的硬盘位置 -->
        <javaModelGenerator targetPackage="com.example.mysqldemo.model" targetProject="src/main/java">
            <!-- 是否允许子包 -->
            <property name="enableSubPackages" value="false" />
            <!-- 是否对modal添加构造函数 -->
            <property name="constructorBased" value="true" />
            <!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
            <property name="trimStrings" value="true" />
            <!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 -->
            <property name="immutable" value="false" />
        </javaModelGenerator>
        <!-- targetPackage 和 targetProject:生成的  mapper xml 文件的包和位置 -->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <!-- 是否在当前路径下新加一层schema,ex:false路径com.example.mysqldemo.model, com.example.mysqldemo.model.[schemaName] -->
            <property name="enableSubPackages" value="false" />
            <!-- 是否针对string类型的字段在set的时候进行trim调用 -->
            <property name="trimStrings" value="true"/>
        </sqlMapGenerator>
        <!-- targetPackage 和  targetProject:生成的  java interface 文件的包和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mysqldemo.repository" targetProject="src/main/java">
            <!-- 是否在当前路径下新加一层schema,ex:false路径com.mysqldemo.demo.model, com.mysqldemo.demo.model.[schemaName] -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 配置表信息 -->
        <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample, 是否生成 example类   -->
        <!-- 不同的表,修改tableName和domainObjectName就可以 -->
        <table tableName="book" domainObjectName="Book" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
        </table>
    </context>
</generatorConfiguration>

 

下方table可以指定生成部分表格进行生成

 

3.build 找到maven 包插件运行的地方

 

 

 

双击即可运行,

如果报jdbc驱动错误,一般是xml配置出错,检查这个字段

 

如果不行,需要手动指定jdbc包的位置

 

 

spring boot 环境配置(profile)切换

非常简单,在内添加每一个环境的profile,例如

然后在主application.properties中去设置

spring.profiles.active=xxx,

 

然后在你设置的对应环境xxx内设置

profile.name=xxx即可

那么这个时候你肯定会问,那不同的环境怎么去区别是哪一个环境呢,

这个时候就需要配置JVM系统参数或应用参数

系统参数:

java -jar -Dspring.profiles.active=xxx springboot-profile-demo 0.0.1-SNAPSHOT.jar

应用参数:

java -jar --spring.profiles.active=dev springboot-profile-demo 0.0.1-SNAPSHOT.jar

 

因为我还没有学到JVM,所以无法深度解析,反正这么做就没啥问题

以下是获取当前环境的方式

    // 当前环境配置名称

    @Value("${profile.name}") //读取当前环境配置名称

    private String profileName;

 posted on 2020-09-07 16:03  Hi!Bro!  阅读(692)  评论(0编辑  收藏  举报