快速构建MyBatis的逆向工程

前言:

我们很多时候面对数目众多的单表之间的逻辑关联,需要手动的书写数量较多的pojo和查询语句,为了解决这些重复的工作,mybatis帮我做了实现就是我们下面要说的逆向工程。

MyBatis逆向工程的概述:

MyBatis的逆向工程指利用MyBatis Generator,可以快速的根据表生成对应的映射文件,接口,以及bean类。

  MyBatis Generator,简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需要我们手工编写。

工程构建:

1、创建一个maven的jar工程

创建一个maven的jar工程,工程的名称为:create-bean-mapper

2、在pom.xml中引入所需要的依赖

[XML] 纯文本查看 复制代码
?


    org.apache.logging.log4j
    log4j
    2.11.2


    org.mybatis
    mybatis
    3.4.6




    org.mybatis.generator
    mybatis-generator-core
    1.3.5



    mysql
    mysql-connector-java
    5.1.38



    
    
        org.apache.maven.plugins
        maven-compiler-plugin
        3.7.0
        
            1.8
            1.8
            UTF-8
        
    

3、在resources目录下编写配置和日志

配置文件:generatorConfig.xml
[XML] 纯文本查看 复制代码
?


PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

    
            
                    
                    
            
            
            
            
            

            
            
                    
            

            
            
                    
                    
                    
                    
            
    
            
                    
                    
            
            
            
                    
                    
            
            
            

日志文件:log4j.properties
[XML] 纯文本查看 复制代码
?

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

4、编写代码生成器的类:GeneratorSqlmap

[Java] 纯文本查看 复制代码
?

public class GeneratorSqlmap {

    public void generator() throws Exception{

            List warnings = new ArrayList();
            boolean overwrite = true;
            String path = this.getClass().getResource("/generatorConfig.xml").getPath();


            System.out.println("path = " + path);
            File configFile = new File(path);
            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)