使用背景:
每次写底层代码都很绝望,而且手动写总是有奇奇怪怪的粗心错误要在单测中反复修改。使用自动生成后妈妈再也不用担心我了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之代码生成器配置文件详解
参考:
Mybatis插件之generatorConfig自动生成JavaBean之不使用默认的驼峰式设计字段
mac下 mybatis-generator命令行方式自动生成mapper、model、xml