MyBatis之MyBatis Generator逆向工程

官网地址

http://mybatis.org/generator/

 

下载地址

http://central.maven.org/maven2/org/mybatis/generator/mybatis-generator-core/

 

3Mybatis Generator 介绍

MyBatis GeneratorMBG)是 MyBatis iBATIS 的代码生成工具。它可以为所有 MyBatis版本以及 iBATIS 版本 2.2.0 及以上自动生成代码。

它会逆向查找一张或多张数据库表的信息,生成操作数据库表所需要的组件。基本上省去了自已手动创建实体类以及配置文件的麻烦。

MBG 只是对单表的增删改查(CRUD (Create, Retrieve, Update, Delete))生成了大部分的代码,对于像连接查询或者存储过程之类的,还是需要手动编写 sql 和实体类的。

MBG 会生成对应于表结构的 java POJO 类。包括一个支持动态查询、更新和删除的类。

MBG 为单表的增删改查生成了配置文件和映射文件。生成的 SQL 语句包括:

insert

update by primary key

update by example (使用动态 where 子句)

delete by primary key

delete by example (使用动态 where 子句)

select by primary key

select by example (使用动态 where 子句)

count by example

根据表结构的不同,这些语句会有一些变化,比如有的表没有主键,则 MBG 不会生成根据主键更新表的记录的方法。

 

Mybatis Generator 的使用

建立 MybatisGenerator 项目

建立 Java 项目即可

添加 jar 包支持

MyBatis之MyBatis Generator逆向工程_第1张图片

 

建立配置文件





	
		
			
			
		
		
		
		
		
		
			
		

		
		
			
			
			
			
		
        
		
			
			
		
		
		
			
			
		
		
		

 

建立项目启动类

package com.bjsxt.mybatis.test;

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 MybatisGeneratorTest {
	
	public void generator() throws Exception {

		Listwarnings = new ArrayList();
		boolean overwrite = true;
		// 指定 逆向工程配置文件
		File configFile = new File(System.getProperty("user.dir")+"/src/config.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 {
			MybatisGeneratorTest generatorSqlmap = new MybatisGeneratorTest();
			generatorSqlmap.generator();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}


}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(JavaEE)