使用背景:
每次寫底層代碼都很絕望,而且手動寫總是有奇奇怪怪的粗心錯誤要在單測中反覆修改。使用自動生成後媽媽再也不用擔心我了orz,嘗試過很多其他的配置,都有或多多少使用不順手的地方,以下兩種是我的最愛,記錄一下QAQ
方案一:Maven插件
1. 引入mybatis插件
<!-- 臨時生成mybatis相關文件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
2. 刷新maven
3. myabtis自動生成映射配置
<?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="/Users/xyang010/Documents/mybatisgen/mysql-connector-java-5.1.47.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true" />
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/readingWebsite?useUnicode=true&characterEncoding=utf-8" userId="root" password="123456">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 實體,targetProject:物理全路徑 -->
<javaModelGenerator targetPackage="com.reading.website.api.domain" targetProject="/Users/xyang010/Documents/IdeaProject/reading-website/reading-website-api/src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- xml文件 -->
<sqlMapGenerator targetPackage="mapper" targetProject="/Users/xyang010/Documents/IdeaProject/reading-website/reading-website-biz/src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- mapper類 -->
<!-- 想要生成annotation形式的mapper,XMLMAPPER 替換成 ANNOTATEDMAPPER -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.reading.website.biz.mapper" targetProject="/Users/xyang010/Documents/IdeaProject/reading-website/reading-website-biz/src/main/java" >
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="userBaseInfo" domainObjectName="UserBaseInfo" modelType="flat" enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false">
<!-- 使用表中字段名作爲實體屬性名;若爲false則表中字段帶下劃線,對應實體屬性爲駝峯命名 -->
<property name="useActualColumnNames" value="true"/>
</table>
</context>
</generatorConfiguration>
方案二: 命令行
1. 需要下載以下文件並解壓,包含mybatis-generator-core-1.3.2.jar,mysql-connector-java-5.1.47.jar,以及generatorConfig.xml
百度雲地址:鏈接:https://pan.baidu.com/s/1sABrKj4nKBmIYCYlOPbmwg 密碼:h05u
2. cd 進入該文件夾,執行以下命令:java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
就會在generatorConfig.xml配置的路徑中生成對應的代碼文件。
generatorConfig其他配置詳細解釋:Mybatis之代碼生成器配置文件詳解