-
简介:
mybatis generator是什么?简单来说,项目中使用mybatis,需要对应数据库表结构,写很多的实体类,如果字段很多,再加上表字段有下划线,各种copy,各种修改,还要添加注释,很烦人.然后还要写很多的基本CRUD,那就更烦人了,mybatis generator的出现就是帮我们解决这些烦人的问题,通过简单的配置,生成好实体类,dao接口,mapper.xml. -
使用:
很久以前用过mybatis generator了,当时只是随便一用,没有留下什么笔记,如今博客刚搬到oschina.net,以前的博文没有整理好,于是就先写一篇mybatis generator的入门资料吧,撑撑场面.适合刚入门学习.后续补上mybatis generator深入一点的资料. 下面我们进入正题,网上有一部分帖子介绍的是下载jar包,然后在命令行里通过 java -jar 命令执行生成实体,xml,接口.我个人不喜欢使用这种方式,因为这样不利于保管这个工具,个人喜欢再IDE里来做这件事情,mybatis generator官方提供了5种方式: 1 命令行, 2 ANT, 3 maven插件, 4 java代码,5 eclipse.其中我个人比较喜欢java代码的方式. 这样把写好的工程保存再idea的工作目录里,需要的时候打开idea,一运行就ok.而且修改generatorConfig.xml非常方便,直观.下面我们就来开始基本的入门:
- 创建一个maven工程,在pom.xml中加入:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
ps: 这里mysql驱动版本根据你自己的情况调整.
- 创建一个Run类 :
package com.jonyonn;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class Run {
public static void main(String[] args) throws Exception {
List<String> warnings = new ArrayList<String>();
String path = Run.class.getResource("/").getPath();
File configFile = new File(path + "generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
//小心,这里是覆盖以前生成的,如果你有修改以前的,注意换路径生成
boolean overwrite = true;
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
}
3.在src/main/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>
<!-- <classPathEntry location="/ProgramFiles/IBM/SQLLIB/java/db2java.zip" /> maven的pom中有mysql驱动jar了 -->
<context id="mysql" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/> <!--数据库注释-->
<property name="suppressAllComments" value="false"/>
<property name="addRemarkComments" value="true"/>
</commentGenerator>
<!--数据库连接信息-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/test"
userId="yonn"
password="123456"></jdbcConnection>
<javaTypeResolver>
<!--官方解释:默认的Java Type Resolver尝试通过替换Integral类型(Long,Integer,Short等).-->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--实体生成路径和Package路径-->
<javaModelGenerator targetPackage="com.jonyonn.model" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--mapper生成路径和Package路径-->
<sqlMapGenerator targetPackage="com.jonyonn.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--接口成路径和Package路径-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.jonyonn.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--表映射-->
<table tableName="test" domainObjectName="Test" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
4.完成,这样一个基本的使用就完成,当然,他并不是这么简单,在generatorConfig.xml中有很多元素可以设置,在这里我并不打算全部列出来,当然我也是从官方网站去复制.我是希望大家都要有探索精神,当你看完入门篇以后,可以自己去官网看看更多的功能,有些或许对你有用,你如你兴趣很浓,可以阅读源码,了解原理,修改或者增加功能.
源码地址: https://github.com/mybatis/generator
mybatis generator官方文档地址: http://www.mybatis.org/generator/index.html