自動生成數據層代碼,提高開發效率
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.查看生成文件