mybatis3逆向工程+mysql8

构建java工程

mybatis3逆向工程+mysql8_第1张图片

使用mybatis3和mysql8

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();
		}
	}
}

generatorConfig.xml

使用mysql8





	
		
			
			
		
		
		
		
		
		
			
		

		
		
			
			
			 
            
			
			
		
        
		
			
			
		
		
		
			
			
		
		
		

使用mysql8之前的版本

主要区别在于:


		
		

1、采用对应的mysql-connetor-java.jar包
2、mysql8.0之前版本驱动包,加载的驱动配置类是com.mysql.jdbc.Driver,mysql8.0版本驱动包,加载的驱动配置类是com.mysql.cj.jdbc.Driver
3、配置URL路径时需要注意,需要加上jdbc:mysql://localhost:3306/db_name?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false

**注意:**URL中查询字段(例如:serverTimezone=UTC、characterEncoding=utf-8)之间使用&分隔,不然会报 Mybatis数据库连接报错:对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾 的错误

你可能感兴趣的:(JAVA-WEB)