mybatis-generator是一个可以在使用mybatis框架时很方便的自动生成model,mapper,dao的工具,它可以大大的节省我们的开发时间,今天自己在搭建项目的时候研究了下,下面把自己的配置过程记录下来:
本人是使用maven构建的项目,开发工具使用的是IDEA
1.在pom.xml中添加依赖
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
2.在build的plugins添加以下内容
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
</dependencies>
</plugin>
3.在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>
<context id="my">
<!-- mysql数据库连接的参数 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mango"
userId="****" password="******" />
<!-- 配置model实体类文件的位置 -->
<javaModelGenerator targetPackage="com.levy.mango.model"
targetProject="D:/develop/java/workspace/mango/src/main/java">
<!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
<property name="enableSubpackages" value="true"/>
<!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成mapper.xml配置文件位置 -->
<sqlMapGenerator targetPackage="com.levy.mango.sqlmap"
targetProject="D:/develop/java/workspace/mango/src/main/java">
<property name="enableSubpackages" value="true"/>
</sqlMapGenerator>
<!-- 生成mapper接口文件位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.levy.mango.mapper"
targetProject="D:/develop/java/workspace/mango/src/main/java">
<property name="enableSubpackages" value="true"/>
</javaClientGenerator>
<!-- 需要生成的实体类对应的表名,每个table对应一个表,我的是两个这里就是配置两个 -->
<!-- tableName:数据库表名,domainObjectName:生成的对应实体类的名称 -->
<!-- 需要生成的实体类对应的表名,多个实体类复制多份该配置即可 -->
<!-- enableCountByExample:指定是否生成动态查询总条数语句(用于分页的总条数查询) -->
<!-- enableUpdateByExample:指定是否生成动态修改语句(只修改对象中不为空的属性) -->
<!-- enableDeleteByExample:指定是否生成动态删除语句 -->
<!-- enableSelectByExample:指定是否生成动态查询语句 -->
<table tableName="sys_user" domainObjectName="SysUser"
<!-- 指定是否生成动态查询总条数语句(用于分页的总条数查询) -->
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false" />
<table tableName="sys_user_role" domainObjectName="SysUserRole"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false" />
</context>
</generatorConfiguration>
4.使用命令运行生成代码:
在Idea右侧点击maven,点击plugins,找到mybatis-generator,展开选项,双击运行。
(ecplise中运行方法:,右击工程,找到maven=>maven build,添加以下命令:mybatis-generator:generate)
5.运行后可以在控制台看到相应的生成对应表数据的信息。具体对于mybatis-generator的详细使用可以参照此博客:https://blog.csdn.net/testcs_dn/article/details/77881776