MyBatis逆向工程

匿名 (未验证) 提交于 2019-12-02 23:38:02

mybatis框架是Java代码和sql语句的解耦,半自动化的orm框架,但还需程序员自己写SQL语句,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、pojo)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。
引入:mybatis逆向工程插件,根据数据库,自动生成 实体类、mapper接口、mapper接口中对应的xml, 不用开发Dao层。
应用场景:逆向工程只能用在简单业务,或者单表操作。

1.添加依赖



org.mybatis.generator
mybatis-generator-core
1.3.5



mysql
mysql-connector-java
5.1.46



org.mybatis
mybatis
3.4.5



log4j
log4j
1.2.17


2.配置xml

<?xml version="1.0" encoding="UTF-8"?>
<javaTypeResolver >   <property name="forceBigDecimals" value="false" /> </javaTypeResolver>   <!-- targetProject:生成POJO类的位置 --> <javaModelGenerator targetPackage="" 	targetProject=".\src\main\java"> 	<!-- enableSubPackages:是否让schema作为包的后缀 --> 	<property name="enableSubPackages" value="false" /> 	<!-- 从数据库返回的值被清理前后的空格 --> 	<property name="trimStrings" value="true" /> </javaModelGenerator>    <!-- targetProject:mapper映射文件生成的位置 --> <sqlMapGenerator targetPackage=""  	targetProject=".\src\main\java"> 	<!-- enableSubPackages:是否让schema作为包的后缀 --> 	<property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage:mapper接口生成的位置 --> <javaClientGenerator type="XMLMAPPER" 	targetPackage="com.bjsxt.ego.rpc.mapper"  	targetProject=".\src\main\java"> 	<!-- enableSubPackages:是否让schema作为包的后缀 --> 	<property name="enableSubPackages" value="false" /> </javaClientGenerator> 	<!-- 指定数据库表 --> 	<table schema="" tableName="tb_content"></table> 	<table schema="" tableName="tb_content_category"></table> 	<table schema="" tableName="tb_item"></table> 	<table schema="" tableName="tb_item_cat"></table> 	<table schema="" tableName="tb_item_desc"></table> 	<table schema="" tableName="tb_item_param"></table> 	<table schema="" tableName="tb_item_param_item"></table> 	<table schema="" tableName="tb_order"></table> 	<table schema="" tableName="tb_order_item"></table> 	<table schema="" tableName="tb_order_shipping"></table> 	<table schema="" tableName="tb_user"></table> 
3.创建启动类生成代码

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 Action {
public static void main(String[] args) {
try {

		   List<String> warnings = new ArrayList<String>(); 		   boolean overwrite = true; 		   File configFile =  				   new File("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); 	} catch (Exception e) { 		// TODO: handle exception 		e.printStackTrace(); 	} 	 } 

}

文章来源: https://blog.csdn.net/GiantCrocodile/article/details/91334529
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!