目录
1.MyBatis Generator简介
MyBatis Generator(简称为 MyBatis 生成器)是一个可以帮助我们自动生成 MyBatis 的 Mapper 接口、Mapper XML 文件和对应的实体类的插件工具。通过 MyBatis Generator,我们可以根据数据库表结构自动生成相应的映射文件,从而减少手动编写重复代码的工作量。
2.实现方法
MyBatis Generator 有3种常用的方式自动生成代码:
- 命令行:(本文以命令行为例)
- Eclipse插件
- Maven
3.步骤
3.1、准备相应的jar包
对应的下载地址为:
- mybatis-generator-core-1.3.6.jar : 下载链接1.3.6
- mysql-connector-java-5.1.45.jar : 下载链接5.1.45
3.2、创建配置文件
创建配置文件generator(可以自定义)只要在最后命令行中输入的一致就可以。
配置文件内容如下:
根据代码中的注释将对应的内容信息替换为自己设定的。
<?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="D:\generator\mysql-connector-java-5.1.45-bin.jar"/>
<context id="mysqlTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 -->
<property name="suppressAllComments" value="true"/>
<!-- 生成注释是否带时间戳-->
<property name="suppressDate" value="true"/>
<!-- 生成的Java文件的编码格式 -->
<property name="javaFileEncoding" value="utf-8"/>
<!-- 格式化java代码-->
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter" />
<!-- 格式化XML代码-->
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter" />
</commentGenerator>
<!-- 数据库连接驱动类,URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/springtest?characterEncoding=UTF-8"
userId="root" password="root">
</jdbcConnection>
<!-- java类型处理器:处理DB中的类型到Java中的类型 -->
<javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
<!-- 是否有效识别DB中的BigDecimal类型 -->
<property name="forceBigDecimals" value="true"/>
</javaTypeResolver>
<!-- 生成Domain模型:包名(targetPackage)、位置(targetProject) -->
<javaModelGenerator targetPackage="com.po" targetProject="src">
<!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
<property name="enableSubPackages" value="true"/>
<!-- 设置是否在getter方法中,对String类型字段调用trim()方法-->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成xml映射文件:包名(targetPackage)、位置(targetProject) -->
<sqlMapGenerator targetPackage="mybatis" targetProject="src">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO接口:包名(targetPackage)、位置(targetProject) -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="src">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表:tableName - 数据库中的表名或视图名,domainObjectName - 实体类名 -->
<table tableName="user" domainObjectName="User"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
3.3、在命令行中执行生成命令
1.打开cmd进入命令行
2.进入创建的文件夹下
3.输入以下命令
java -jar mybatis-generator-core-1.3.6.jar -configfile generator.xml -overwrite
输入案例:
3.4、最后创建的目标文件夹总览:
在创建的generator文件夹下创建src文件夹以及相应的jar包和配置文件
4.可能出现的问题
出现找不到jar包的问题:
可能出现的原因:文件中尽量不要有中文名。
文件名本身错误,仔细核对下。
文件没有访问权,也就是文件被锁定了。
解决方法:右键文件,选择属性,在属性中的安全选项选择解除锁定