SpringBoot 新增mybatis generator 自動生成程式碼外掛
阿新 • • 發佈:2019-01-05
自動生成資料層程式碼,提高開發效率
1.pom新增外掛,並指定配置檔案路徑
<!-- mybatis generator 自動生成程式碼外掛 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> </plugin>
2.新增配製檔案 generatorConfig.xml,generator.properties
jdbc.driverLocation=E:/46maven/mysql/mysql-connector-java/5.1.40/mysql-connector-java-5.1.40.jar jdbc.driverClass=com.mysql.jdbc.Driver jdbc.connectionURL=jdbc:mysql://localhost:3306/alishare?useUnicode=true&characterEncoding=utf-8 jdbc.userId=root jdbc.password=123456
<?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> <!--匯入屬性配置 --> <properties resource="generator.properties"></properties> <!--指定特定資料庫的jdbc驅動jar包的位置 --> <classPathEntry location="${jdbc.driverLocation}"/> <context id="default" targetRuntime="MyBatis3"> <!-- optional,旨在建立class時,對註釋進行控制 <commentGenerator> <property name="suppressDate" value="true" /> </commentGenerator> --> <!-- 註釋 --> <commentGenerator > <property name="suppressAllComments" value="true"/><!-- 是否取消註釋 --> <property name="suppressDate" value="true" /> <!-- 是否生成註釋代時間戳--> </commentGenerator> <!--jdbc的資料庫連線 --> <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}"> </jdbcConnection> <!-- 非必需,型別處理器,在資料庫型別和java型別之間的轉換控制--> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- Model模型生成器,用來生成含有主鍵key的類,記錄類 以及查詢Example類 targetPackage 指定生成的model生成所在的包名 targetProject 指定在該專案下所在的路徑 --> <javaModelGenerator targetPackage="com.glory.study.model" targetProject="src/main/java"> <!-- 是否對model新增 建構函式 --> <property name="constructorBased" value="true"/> <!-- 是否允許子包,即targetPackage.schemaName.tableName --> <property name="enableSubPackages" value="false"/> <!-- 建立的Model物件是否 不可改變 即生成的Model物件不會有 setter方法,只有構造方法 --> <property name="immutable" value="true"/> <!-- 是否對類CHAR型別的列的資料進行trim操作 --> <property name="trimStrings" value="true"/> </javaModelGenerator> <!--Mapper對映檔案生成所在的目錄 為每一個數據庫的表生成對應的SqlMap檔案 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- 客戶端程式碼,生成易於使用的針對Model物件和XML配置檔案 的程式碼 type="ANNOTATEDMAPPER",生成Java Model 和基於註解的Mapper物件 type="MIXEDMAPPER",生成基於註解的Java Model 和相應的Mapper物件 type="XMLMAPPER",生成SQLMap XML檔案和獨立的Mapper介面 --> <javaClientGenerator targetPackage="com.glory.study.dao.mapper" targetProject="src/main/java" type="XMLMAPPER"> <property name="enableSubPackages" value=""/> <!-- 定義Maper.java 原始碼中的ByExample() 方法的可視性,可選的值有: public; private; protected; default 注意:如果 targetRuntime="MyBatis3",此引數被忽略 --> <property name="exampleMethodVisibility" value=""/> <!-- 方法名計數器 Important note: this property is ignored if the target runtime is MyBatis3. --> <property name="methodNameCalculator" value=""/> <!-- 為生成的介面新增父介面 --> <property name="rootInterface" value=""/> </javaClientGenerator> <!--指定表名--> <table tableName="orderBaiduInfo" domainObjectName="OrderBaiduInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
3.配置成功後找到外掛點Run
4.檢視生成日誌,成功
[INFO] Generating Mapper Interface for table orderbaiduinfo [INFO] Generating SQL Map for table orderbaiduinfo [INFO] Saving file OrderBaiduInfoMapper.xml [INFO] Saving file OrderBaiduInfo.java [INFO] Saving file OrderBaiduInfoMapper.java [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS
5.檢視生成檔案