作用:自动生成实体类,dao类,mapper.xml
使用步骤:
1.在pom.xml中添加plugin
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<!--mybatis用于生成代码的配置文件 ;-->
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
2.resources文件夹下创建generatorConfig.xml
<?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>
<!--配置文件放在resources目录即可-->
<!--数据库驱动个人配置-->
<classPathEntry location="C:/Users/zhe/.m2/repository/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar"/>
<context id="MysqlTables" targetRuntime="MyBatis3">
<property name="autoDelimitKeywords" value="true"/>
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!-- optional,旨在创建class时,对注释进行控制-->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- mysql数据库连接 地址账号密码-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/database?useSSL=false&useUnicode=true&characterEncoding=UTF-8"
userId="root" password="root">
</jdbcConnection>
<!--非必须类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成model实体类文件位置 -->
<javaModelGenerator targetPackage="com.demo.demo.model.pojo"
targetProject="src/main/java">
<!--是否允许子包,即targetPackage.schemaName.tableName-->
<property name="enableSubPackages" value="true"/>
<!--是否对类char类型的列的数据进行trim操作-->
<property name="trimStrings" value="true"/>
<!--建立的MODEL对象是否不可改变 即生成的MODEL对象不会有 setter方法,只有构造方法-->
<property name="immutable" value="false"/>
</javaModelGenerator>
<!-- 生成mapper映射文件存放位置 -->
<sqlMapGenerator targetPackage="mappers"
targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成Dao类存放位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.demo.demo.model.dao"
targetProject="src/main/java" >
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 需要生成的实体类对应的表名,多个实体类复制多份该配置即可 -->
<table tableName="user" domainObjectName="USER"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
按需修改即可,并去掉注释
3.点击生成
在idea中:右侧点击Maven Project 选择mybatis-generator:generate,双击即可
踩坑
1.出现以下错误
[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.5:generate (default-cli) on project SSM-CRUD: XML Parser Error on line 57: 元素类型为 “context” 的内容必须匹配 “(property*,plugin*,commentGenerator?,(connectionFactory|jdbcConnection),javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+)”。 -> [Help 1]
- 原因:配置文件 generatorConfig.xml 里面的context的子元素必须按照它给出的顺序。
当然也可能是你xml文件有错(有空行或者有注释) - 解决:按顺序编辑文件,去除多余空格或注释