1. 程式人生 > 實用技巧 >springboot框架的搭建(4)--》配置mybatis generate自動程式碼生成

springboot框架的搭建(4)--》配置mybatis generate自動程式碼生成

常規操作匯入依賴 外掛的版本號要對應

 <!-- MyBatis 生成器 -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>
  <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <dependencies>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.5</version>
                    </dependency>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.13</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>mybatis generator</id>
                        <phase>package
</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <!--允許移動生產的檔案--> <verbose>true
</verbose> <!--允許自動覆蓋檔案,在開發者不可以設定為true--> <overwrite>true</overwrite> <!--制定生產檔案的位置--> <configurationFile> src/main/resources/mybatis_generator.xml
</configurationFile> </configuration> </plugin>

mybatis yml配置以及durid資料來源配置好了

spring:
  datasource:
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    #    修改資料庫
    url: jdbc:mysql://localhost:3306/mymall?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&useSSL=false
    type: com.alibaba.druid.pool.DruidDataSource # 自定義資料來源

    #Spring Boot 預設是不注入這些屬性值的,需要自己繫結
    #druid 資料來源專有配置
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true

    #配置監控統計攔截的filters,stat:監控統計、log4j:日誌記錄、wall:防禦sql注入
    #如果允許時報錯  java.lang.ClassNotFoundException: org.apache.log4j.Priority
    #則匯入 log4j 依賴即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

mybatis:
  mapper-locations: classpath:Dao/*Mapper.xml
  type-aliases-package: com.example.entity

#showSql
logging:
  level:
    com.lin.durid1.Dao : debug

4 配置mybatis-generator.xml檔案 檔名與plugin那裡對應好了

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC
        "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
    <!--驅動包的路徑-->
    <!--<classPathEntry location="F:\maven\repos\mysql\mysql-connector-java\5.1.34\mysql-connector-java-5.1.34.jar"/>-->
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <!--註釋-->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>
        <!--資料庫連線-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mymall?serverTimezone=UTC&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false"
                        userId="root"
                        password="root"/>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--生成Model類存放位置-->
        <javaModelGenerator targetPackage="com.lin.enti" targetProject="src/main/java">
            <!--是否對model新增建構函式-->
            <property name="constructorBased" value="false"/>
            <!--是否允許子包-->
            <property name="enableSubPackages" value="true"/>
            <!--建立的model物件是否不可變,也就是生成的model沒有setter方法-->
            <property name="immutable" value="false"/>
            <property name="trimStrings" value="false"/>
        </javaModelGenerator>

        <!--生成對映檔案存放位置-->
        <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!--生成Mapper類存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.lin.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--生成與表對應的類名-->
        <table tableName="sys_user" domainObjectName="UserDo" enableCountByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false"></table>


    </context>

</generatorConfiguration>

5配置外掛啟動

啟動就會發現程式碼生成了

然後簡單測試一下