MyBatis Generator (MBG) 是一个Mybatis的代码生成器 ,在MyBatis开发的过程中,通常我们会给数据库的每张表编写对应的domain、dao、mapping,很简单,但是工作量很大,所以我们通常会使用代码生成器帮我们自动生成。以下介绍MyBatis Generator使用的两种方式。
方式一:
命令行方法
1. MyBatis Generator Release下载:
https://github.com/mybatis/generator/releases
2. 在lib目录下新建一个generatorConfig.xml文件, 将以下代码拷贝到 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>
<classPathEntry location="mysql-connector-java-5.1.0-bin.jar" />
<context id="context1">
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection connectionURL="jdbc:mysql://localhost:3306/mybatis"
driverClass="com.mysql.jdbc.Driver" password="" userId="root" />
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="com.batis.pojo" targetProject="src" />
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="com.batis.mapper" targetProject="src" />
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator targetPackage="com.batis.mapper" targetProject="src" type="XMLMAPPER" />
<!-- 指定数据库表 -->
<table schema="" tableName="user">
<!-- 指定列 -->
<!-- <columnOverride column="???" property="???" /> -->
</table>
</context>
</generatorConfiguration>
3. 修改generatorConfig.xml文件。在上面的代码中,classPathEntry为数据库连接驱动,以将对应的jar文件放入lib文件中,location指定其路径。
4. 在lib目录下创建配置文件中targetProject指定的文件夹。
5. 执行命令:
cd 你的lib文件夹路径
java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
常见问题
问题1: 前言中不允许有内容
文件存储为ANSI格式,修改配置文件格式为ANSI。
问题2:The specified target project directory src does not exist
未创建targetProject指定的文件夹。
方式二:
eclipse插件形式方法
安装eclipse插件
1. 打开Eclipse Marketplace,在Find里输入Mybatis Generator 安装
2. 安装插件的过程就不说了,安装完后,eclipse中File-》new-》other中会发现多了mybatis选项说明插件安装成功。
使用插件
1. 在eclipse中File-》new-》other中创建generatorConfig.xml文件,选择下一步,输入要添加的项目,完成
2. 配置generatorConfig.xml文件
3. 配置好信息,右键文件,就可以利用插件自动生成代码了。
常见问题
问题1:Unexpected error while running MyBatis Generator. Exception getting JDBC Driver
默认生成的文件是没有指定,数据库链接jar包的,所以要指定Jar包路径即可 <classPathEntry location="D:/mysql-connector-java-5.1.24-bin.jar" />。
问题2:Cannot resolve classpath entry
数据库链接Jar包要指定绝对位置,如果还报这个错误,给jar包everyone权限即可解决。