mybatis-geneator 是一款 mybatis 自动代码生成工具,MyBatis 属于半自动化的 ORM 框架,需要手动书写 Mapping 映射文件,mybatis-gennerator 可以帮助我们自动生成 mybatis 所需要的 Model、Dao、mapper xml 文件。
mybatis-geneator 有如下几种使用方式:
命令行
Java 程序
Maven 插件
Eclipse 插件
Ant 方式
不管哪种方式,核心都需要一个配置文件 generatorConfig.xml,该文件包含了连接数据库参数;生成的 Model、Dao、Mapper 目标路径;指定数据库表;类型的转换处理等配置,以下为generatorConfig.xml内容示例:
/p>
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
location="E:\java_tfd\apache-maven-3.2.5-bin\repository\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar"/>
userId="root" password="123456">
targetProject="E:\huatec\product\hiot\v2\workspace\hiov\core\src\main\java">
targetProject="E:\huatec\product\hiot\v2\workspace\hiov\core\src\main\resources">
targetProject="E:\huatec\product\hiot\v2\workspace\hiov\core\src\main\java">
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
说明:
数据库驱动可以通过上面 classPathEntry ->location 指定本地驱动 jar 文件位置,也可以直接在项目中引入 jar 依赖。就可以省略该 classPathEntry ->location 配置
上面生成 Model、Dao、Mapper 的目录 targetProject 我直接指定的相对路径(相对项目的根目录),也可以使用本地绝对路径(路径一定要写对,否则无法生成代码文件)
生成代码文件的最终路径是 targetProject + targetPackage
一个数据库表对应一个,所以可以同时指定多个
下面就命令行、Java 程序、Maven 插件三种运行方式进行展开讲解。其他方式参见官方文档:http://www.mybatis.org/generator/
一、命令行
首先下载 Mybatis-Generator jar 包,可以到这个地址下载:https://github.com/mybatis/generator/releases ,这里我下载mybatis-generator-core-1.3.5.jar
接着,将mybatis-generator-core-1.3.5.jar 和 generatorConfig.xml放在同一个目录下
最后,在该目录打开命令行,执行如下命令
java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite
如果执行完提示:MyBatis Generator finished successfully. 则在该目录下的 target 下相应目录就可以看到生成的文件了。
二、Java 程序
1、配置文件
创建 Java 项目,将上述generatorConfig.xml 复制到项目目录,修改 3 个 targetProject 为:src\target\java src\target\resources src\target\java
2、启动程序代码
新建 GeneratorSqlmap.java 文件,内容如下:
public class GeneratorSqlmap {
public static void main(String[] args) throws Exception {
try {
GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
public void generator() throws Exception {
List warnings = new ArrayList();
boolean overwrite = true;
File configFile = new File("src\\generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
// 输出 warning 日志
warnings.forEach(System.out::println);
}
}
说明:上述代码只需要根据 generatorConfig.xml 的实际路径修改其引用路径即可
3、Jar 包依赖
将下载好的mybatis-generator-core-1.3.5.jar加入项目依赖(可参见:IDEA Java 项目添加本地 Jar 包)
4、生成文件目录
新建 target 目录,其下新建 java 和 resources 包。最终项目目录结构见下图:
说明:相关目录根据实际情况修改调整。
5、执行 main 方法
执行 GeneratorSqlmap 中的 main 方法即可生成代码文件
三、Maven 程序
pom.xml 加入 mybatis-generator-maven-plugin,如下:
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.7
${basedir}/src/main/resources/generator/generatorConfig.xml
true
true
当然数据库驱动依赖是必须的,这里不再列出。
将 generatorConfig.xml 放在指定目录下,按实际情况修改 targetProject 生成路径。
刷新 maven,再执行:
mvn mybatis-generator:generate
或者,IDEA 下直接点击执行:
即可