Mybatis官方提供逆向工程 Mybatis generator

Posted 全栈CV

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis官方提供逆向工程 Mybatis generator相关的知识,希望对你有一定的参考价值。

Mybaits generator

Mybaits generator是Mybatis官方提供逆向工程,可以针对单表自动生成Mybatis执行所需要的代码,如mapper.java、mapper.xml、pojo。

先给出官方wiki链接:http://www.mybatis.org/generator/

这是说一种使用方法

1、下载所需要的jar包

2、配置xml文件

这里贴一个例子以供参考

<!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="testTables" targetRuntime="MyBatis3">
		<commentGenerator>
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/databases" userId="root" password="1234">
		</jdbcConnection>
		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<!-- targetProject:生成PO类的位置 -->
		<javaModelGenerator targetPackage="com.test.pojo" targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 从数据库返回的值被清理前后的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
		<!-- targetProject:mapper映射文件生成的位置 -->
		<sqlMapGenerator targetPackage="com.test.mapper" targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		<!-- targetPackage:mapper接口生成的位置 -->
		<javaClientGenerator type="XMLMAPPER" targetPackage="com.test.mapper" targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>
		<!-- 指定数据库表 -->
		<table schema="" tableName="table1"></table>
		<table schema="" tableName="table2"></table>
	</context></generatorConfiguration>

看注释,将上面xml文件中的一些属性改成你自己的即可。

3、写个工具类试一下

配置好了xml,写个测试类试一下

import java.io.File;import java.util.ArrayList;import java.util.List;import org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.Configuration;import org.mybatis.generator.config.xml.ConfigurationParser;import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorSqlmap {public void generator() throws Exception{

	List<String> warnings = new ArrayList<String>();	boolean overwrite = true;	//指定 逆向工程配置文件
	File configFile = new File("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);

} 
public static void main(String[] args) throws Exception {	try {
		GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
		generatorSqlmap.generator();
	} catch (Exception e) {
		e.printStackTrace();
	}
	
}

}

执行main方法,如果xml中的属性无误的话,就会在你指定的位置生成以所需要的类和映射文件。

小技巧:

1、有时候路径会是个头疼的问题,我们可以用一个单独的java项目来使用逆向工程,然后再把生成的类和映射文件拷贝到相应的位置即可。 2、可以封装一个jar包,每次只要修改xml文件,然后使用jar命令执行jar包即可。

java -jar xxxx.jar


以上是关于Mybatis官方提供逆向工程 Mybatis generator的主要内容,如果未能解决你的问题,请参考以下文章

mybatis逆向工程

Mybatis----逆向工程

Mybatis mybatis的逆向工程的配置详解

Mybatis mybatis的逆向工程的配置详解

mybatis逆向工程

mybatis逆向工程