最代码广告位
首页>分享>一个main文件搞定mybatis逆向工程生成>/spirng-mybatis/src/main/java/com/example/demo/TestGenerator.java
package com.example.demo;

import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

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;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

/**
 * MyBatis generator通过main方法生成示例
 * @author 程就人生
 * @date 2019年9月6日
 */
public class TestGenerator {

	public  static void main(String[] agro){
		try{
			//可对配置文件里的参数做动态替换
    	    //Properties prop = new Properties();
    	    
			//收集错误信息
			List<String> warnings = new ArrayList<String>();
			//重写标识,此标识为true时,实体类、dao已存在会在后面追加;
			//设置为false时,实体类、dao不会被追加,会生成一个新的java类类名加数字,但xml文件依旧会被追加;
			boolean overwrite = false;
			//读取配置文件,三种写法
			//File configFile = new File(TableInfoController.class.getResource("generatorConfig.xml").getFile());  
			//ResourceUtils.getURL("classpath:generatorConfig.xml")
			Resource resource = new ClassPathResource("generatorConfig.xml"); 
			
			//动态参数的替换加载
			//ConfigurationParser cp = new ConfigurationParser(prop, warnings);
			ConfigurationParser cp = new ConfigurationParser(warnings);
			
			Configuration config = cp.parseConfiguration(resource.getFile());
			
			DefaultShellCallback callback = new DefaultShellCallback(overwrite);
			
			MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
			
			myBatisGenerator.generate(null);
			//输出错误信息,一定要输出,不然出错了,会找不到错误信息
			if(warnings.size() > 0){
				System.out.println("有错误信息,请跟进错误提示进行修改!");
				warnings.forEach(System.out::println);
			}else{
				System.out.println("文件已经生成,刷新项目后查看!");
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}
最近下载更多
liouslulu LV85月21日
月亮月亮
hjc810794 LV84月24日
月亮月亮
luoyong12345 LV23月5日
星星星星
woldxy LV91月13日
月亮月亮星星
清风lqz LV82019年12月3日
月亮月亮
mrj1314 LV62019年11月24日
月亮星星星星
liuqingfang000 LV32019年9月23日
星星星星星星
0312wangchen LV252019年9月22日
太阳月亮月亮星星
破风渊 LV12019年9月17日
星星
LikL9420 LV112019年9月17日
月亮月亮星星星星星星
最近浏览更多
waluduo5月31日
暂无贡献等级
cnflian LV25月21日
星星星星
liouslulu LV85月21日
月亮月亮
pfb123456 LV54月27日
月亮星星
hjc810794 LV84月24日
月亮月亮
wenjie_5419 LV94月21日
月亮月亮星星
luoyong12345 LV23月5日
星星星星
wuyunlong LV52月27日
月亮星星
小强111111 LV202月22日
太阳月亮
Fister20502月18日
暂无贡献等级
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友