mybatis逆行生成pojo和mapper

使用mybatis官方提供的mybatis-generator生成pojomapper接口及映射文件。

并且将pojo放到manager-pojo工程中。

mapper接口及映射文件放到manager-dao工程中。

generatorConfig.xml 配置文件





	
		
			
			
		
		
		
		
		
		
			
		

		
		
			
			
			
			
		
        
		
			
			
		
		
		
			
			
		
		
		

GeneratorSqlmap.java :

import java.io.File;
import java.io.IOException;
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.exception.XMLParserException;
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();
		}
		
	}

}

mybatis逆行生成pojo和mapper_第1张图片

最后只需将生成的包复制至需要的位置即可。

解决mapper绑定异常

mybatis逆行生成pojo和mapper_第2张图片

此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的。由于maven工程在默认情况下src/main/java目录下的mapper文件是不发布到target目录下的。

解决方法

在manager-dao工程的pom文件中添加如下内容:

<build>

<resources>

            <resource>

                <directory>src/main/javadirectory>

                <includes>

                    <include>**/*.propertiesinclude>

                    <include>**/*.xmlinclude>

                includes>

                <filtering>falsefiltering>

            resource>

        resources>

build>


你可能感兴趣的:(mybatis逆行生成pojo和mapper)