Mybatis框架(7)---Mybatis逆向工程

Mybatis逆向工程


逆向工程的目的就是缩减了我们的开发时间。所谓Mybatis逆向工程,就是Mybatis会根据我们设计好的数据表,自动生成pojomapper以及mapper.xml

接下来就是项目搭建过程。github源码:mybatis逆向工程代码

一、pom.xml文件

    
    
        mysql
        mysql-connector-java
        5.1.41
    

    
    
        tk.mybatis
        mapper-spring-boot-starter
        1.2.4
    

    
    
        org.mybatis.generator
        mybatis-generator-core
        1.3.2
        compile
        true
    


二、generatorConfig.xml

这是配置逆向工程配置信息。






    
    
        
        

        
        
            
        

        
        
        

        
        

        
        

        
        


        
        


三、父类BaseMapper

在配置信息中,父类mapper不是必须的,不过一般企业开发中,肯定是有父类的,因为你不可能每个mapper都写增删改查方法,完全可以抽离。

/**
 * @author 基础的Mapper 所有业务表都继承之该mapper
 */
public interface BaseMapper extends Mapper, MySqlMapper {
    //FIXME 特别注意,该接口不能被扫描到,否则会出错
    /**
     * 通过主键删除
     */
    int deleteByPrimaryKey(String id);

    /**
     * 插入对象
     */
    int insert(T record);

    /**
     * 通过K 查找对象
     */
    T selectByPrimaryKey(String id);

    /**
     * 查找所有
     */
    List selectAll();

    /**
     * 更新 对象
     */
    int updateByPrimaryKey(T record);
}


四、GeneratorDisplay(启动类)

public class GeneratorDisplay {

    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 {
            GeneratorDisplay generatorSqlmap = new GeneratorDisplay();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}

总体就是这么的简单。

注意点

1、对于一张表已经完成逆向工程后,不能再执行一次main方法,除非在generatorConfig.xml删除这个table,因为如果依次执行两次main,那么mapper.xml
内容会叠加。
2、如果你的表有变动,那么你可以选择先删除该表所以创建好的逆向工程,重新生成,要么手动修改内容。

你可能感兴趣的:(Mybatis框架(7)---Mybatis逆向工程)