Mybatis使用逆向工程,反向生成数据库所需的java pojo,mapper和xml(使用IDEA)

版权声明:仅供学习使用,未经同意不得转发,不可使用商业用途。 https://blog.csdn.net/wangqingbang/article/details/89927375

前言:通常我们的后台数据库的表的类目繁多,如果不利用工具,会很浪费时间和精力,这里收藏一种快捷的方法,用mybatis-generator-core的jar包,使用逆向工程来反向生成java的pojo、mapper和xml,这种方法极大的解放了我们的双手。

具体过程如下:

1. 在IDEA中建立一个普通的java工程即可
在这里不需要任何的模板:
在这里插入图片描述

在这里,我将工程命名为 generatorSqlmapCustom
在这里插入图片描述

2. 添加工程所需的jar包,在这里我用的jar包版本是mysql-connector-java-5.1.28-bin.jar

我提前准备其他需要支持的jar包(必须的):
在这里插入图片描述
有需要的朋友可以直接下载:

链接:https://pan.baidu.com/s/1n8a521PyHWo92396EcgRFQ
提取码:agyl

下载好jar包后:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 导入jar包后,就要开始写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>
	<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/Remember" userId="root"
			password="123">
		</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.remember.pojo"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 从数据库返回的值被清理前后的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
		<sqlMapGenerator targetPackage="com.remember.mapper"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		<!-- targetPackage:mapper接口生成的位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.remember.mapper"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>
		<!-- 指定数据库表 -->
		<table schema="" tableName="banner"></table>
		<table schema="" tableName="banner_item"></table>
		<table schema="" tableName="category"></table>
		<table schema="" tableName="image"></table>
		<table schema="" tableName="order"></table>
		<table schema="" tableName="order_product"></table>
		<table schema="" tableName="product"></table>
		<table schema="" tableName="product_image"></table>
		<table schema="" tableName="product_property"></table>
		<table schema="" tableName="theme"></table>
		<table schema="" tableName="theme_product"></table>
		<table schema="" tableName="third_app"></table>
		<table schema="" tableName="user"></table>
		<table schema="" tableName="user_address"></table>
	</context>
</generatorConfiguration>

在配置里面添加了详细的注释,填表的阶段,推荐从数据库中直接复制,防止出错。
还有,把配置文件放到resources下,像这样:
在这里插入图片描述

4. java运行代码
命名为 GeneratorSqlmap



import java.io.File;
import java.io.IOException;
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.exception.XMLParserException;
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("resources/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();
		}
		
	}

}

写好的java代码不用修改,只需把xml配置文件放对位置即可!

5. 运行java代码
运行结果:
在这里插入图片描述
此时,你看你的src下,是不是多了你之前写好的包名:
在这里插入图片描述

此时,就已经大功告成了!

小Tips:
1.生成的包用完可以及时删掉,否则再次生成时会叠加!
2.数据库某个表修改时,单独选一个表就行,就能生成

猜你喜欢

转载自blog.csdn.net/wangqingbang/article/details/89927375