Mybatis三剑客之mybatis-generator逆向生成生成pojo、dao和xml文件

测试环境:

 1.Windows 7 旗舰版 Service Pack 1

 2.Eclipse Oxygen.1a Release (4.7.1a)

 3.MySQL 5.6以及Navicat Premium 12

mybstis-generator是笔者认为Mybatis框架里最有用的一把"剑",它会根据我们的数据库自动生成pojo、dao和xml文件 。

pojo里面放的是跟数据库字段一一对应的对象、dao层是接口,供service使用,xml是这个dao层接口的实现,sql语句都写在xml里

这是我们的项目:

Mybatis三剑客之mybatis-generator逆向生成生成pojo、dao和xml文件_第1张图片

1.generatorConfig.xml






	
		
			
			
		
		
		
		
		
		
			
		


		
		
			
			
			
			
		
        
		
			
			
		
		
		
			
			
		
		
		

2.log4j.properties

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
3.GeneratorSqlmap.java
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 warnings = new ArrayList();
		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();
		}
		
	}

}
4.打开Navicat Premium 12在test数据库新建如下表

Mybatis三剑客之mybatis-generator逆向生成生成pojo、dao和xml文件_第2张图片

test.sql如下

/*
 Navicat Premium Data Transfer

 Source Server         : MySql5.6
 Source Server Type    : MySQL
 Source Server Version : 50639
 Source Host           : localhost:3307
 Source Schema         : test

 Target Server Type    : MySQL
 Target Server Version : 50639
 File Encoding         : 65001

 Date: 30/01/2018 23:12:57
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for tb_test1
-- ----------------------------
DROP TABLE IF EXISTS `tb_test1`;
CREATE TABLE `tb_test1`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

SET FOREIGN_KEY_CHECKS = 1;

5.以上配置完成后,直接运行 GeneratorSqlmap.java这个java程序。控制台输出

Mybatis三剑客之mybatis-generator逆向生成生成pojo、dao和xml文件_第3张图片

然后刷新我们的项目

Mybatis三剑客之mybatis-generator逆向生成生成pojo、dao和xml文件_第4张图片

我们的pojo类跟dao层文件以及xml文件就自动生成完毕。

项目Demo源码: 点击打开链接

你可能感兴趣的:(Java框架)