前言
看到公司项目中的 mapper 与 xml 中的代码写的十分规范与一致,后来才知道这些是可以通过 mybatis 工具自动生成,倒腾半天,终于可以实现自动生成,以后可以方便码代码啦,哈哈哈……果然,懒惰是推进社会进步的第一生产力。本来 mybatis 的MyBatisCodeHelper-Pro-1.6.6插件也可以实现,但貌似需要花费,就暂时搁置,先讲讲免费的吧,以后在补上。
准备工具
idea,mybatis-genetator-core-1.3.2.jar,mysql-connector-java-5.1.35.jar,generatorConfig.xml
jar包下载
开始自动生成
1.使用 cmd 执行 jar 包
1.1 放置 jar 包与 xml 文件
不管是 maven 工程还是 web 工程都可以,将两个文件的位置可以随意放置,可以不放在一起(但为了方便操作,我将其都放置在 resources 目录下)
1.2 编辑 generatorConfig.xml文件
target*
这里都写本地的绝对路径,否则会报错The specified target project directory src/main/java does not exist
<?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>
<!--
出现错误:Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
解决办法:将本地的MAVEN仓库中的mysql驱动引入进来
-->
<classPathEntry location="C:\Users\wwe\.m2\repository\mysql\mysql-connector-java\5.1.32\mysql-connector-java-5.1.32.jar" />
<context id="mysqlgenerator" targetRuntime="MyBatis3Simple">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/test"
userId="root"
password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="com.cn.artifact.pojo" targetProject="E:/project/ProjectName/src/main/java">
<!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
<property name="enableSubPackages" value="true" />
<!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--指定sql映射文件生成的位置 -->
<sqlMapGenerator targetPackage="config.mappers" targetProject="E:/project/ProjectName/src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 指定dao接口生成的位置,mapper接口 -->
<javaClientGenerator type=