【Mybatis】——Mybatis逆向工具VS通用Mapper逆向工具

    公司中使用的SSM框架,其中关于Mybatis逆向工程这一部分是经理之前自己封装的工具,经常改表结构,这个工作一直在反复的重复,说实话小编的觉得有点烦啊。每次都好多文件,粘过来粘过去,唉,虽然麻烦,但是也很佩服经理的技术能力,毕竟我写起来还有点小困难。

Mybatis逆向工具

     其实mybatis官方提供了逆向工程,用于解决这种重复的工作。而且生成模板有两种,一种是MyBatis3Simple简单版仅生成CRUD,另一种MyBatis3豪华版,豪华版带条件的增删改查。

使用Mybatis逆向工程的配置文件如下mbg.xml




    
    
        
        
        

    
        
            
        

    
        
            
            
        

    
        
            
        

    
        
            
        

    
        
        
    

启动测试类,直接生成

    @Test 
    public void testMbg() throws Exception {
        List warnings = new ArrayList();
        boolean overwrite = true;
        File configFile = new File("mbg.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);
    }

生成内容包含四部分

1、***POJO.java

2、***Example.java

3、***Mapper.java

4、***Mapper.xml

Mybatis逆向工具不足之处

    因为封装了一些方法,所以在.java文件和.xml文件中会有一些不需要开发人员修改的内容,从程序设计的角度来说应该对这一部分关闭修改。而且Example.java文件内容基本没有改动,但是会因为表结构的修改而重新覆盖该文件,这一部分工作对应程序开发是重复的,所以应该想办法尽量避免。

    正因为Mybatis本身提供逆向工具存在的问题,所以通用Mapper在Mybatis的基础上完善,来解决这些重复的问题。而且这是一位中国人封装的,所以学习成本极低。

通用Mapper逆向工具

作用:替我们生成常用增删改查操作的SQL语句

官方发布地址:

https://gitee.com/free

https://gitee.com/free/Mapper/wikis/1.1-java?parent=1.integration

通用Mapper逆向工具配置使用

pom文件


        4.0.0
        com.atguigu.mapper.mbg
        Pro02MapperMBG
        0.0.1-SNAPSHOT

        
                
                
                ${basedir}/src/main/java

        
        com.atguigu.shop.mappers

        
        com.atguigu.shop.entities

        
        ${basedir}/src/main/resources

        
        mappers

        
        4.0.0-beta3
        
        5.1.37
        
        
                
                        tk.mybatis
                        mapper
                        4.0.0-beta3
                
                
                        org.mybatis
                        mybatis
                        3.2.8
                
                
                        mysql
                        mysql-connector-java
                        ${mysql.version}
                
        
        
                
                        
                                org.mybatis.generator
                                mybatis-generator-maven-plugin
                                1.3.2
                                
                         
                            ${basedir}/src/main/resources/generator/generatorConfig.xml
                            true
                            true
                        
        
        
                
                        mysql
                        mysql-connector-java
                        ${mysql.version}
                
                
                        tk.mybatis
                        mapper
                        ${mapper.version}
                
        
        
        
        

generatorConfig.xml具体配置





        
        

        
                
                

        
        
                
        

        
        
        
        
                
                

        
        

        
        

        
        
        
        
        
        

config.properties

jdbc.driverClass = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/common_mapper
jdbc.user = root
jdbc.password = root

#c3p0
jdbc.maxPoolSize=50
jdbc.minPoolSize=10
jdbc.maxStatements=100
jdbc.testConnection=true

# mapper
mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin
mapper.Mapper = tk.mybatis.mapper.common.Mapper

运行

在pom.xml这一级目录的命令行窗口中执行如下命令即可

mvn mybatis-generator:generate

生成内容为三部分

1、**POJO.Java

2、***Mapper.java

3、***Mapper.xml

相比mybatis逆向工具优点

     在***Mapper.java类继承了Mapper类,这样那些不需要修改的内容,封装到一个独立类中,具有通用性,因为这种封装,在**Mapper.xml文件中没有了那些封装好的sql,减少不需要改动的类**Example.java,最大程度的对修改关闭,同时还可以将自定义扩展Mapper类,来满足项目的需要。

总结

    【Mybatis】——Mybatis逆向工具VS通用Mapper逆向工具_第1张图片

   如果公司内部封装的逆向工具没有理想那么优秀,推荐使用通用Mapper进行替代,减少开发过程不必要的操作,而且便捷灵活。

你可能感兴趣的:(【框架深入】,#,【Mybatis】,mybatis,逆向工具,通用mapper)