自动生成Mapper文件(基于Mybatis Maven插件)


自动生成Mybatis的Mapper文件

 工作中使用mybatis时我们需要根据数据表字段创建pojo类、mapper文件以及dao类,并且需要配置它们之间的依赖关系,这样的工作很琐碎和重复,mybatis官方也发现了这个问题,因此给我们提供了mybatis generator工具来帮我们自动创建pojo类、mapper文件以及dao类并且会帮我们配置好它们的依赖关系。

实际上,最非常流行MyBatis-Plus中内置了代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,有超多自定义配置等,在这主要介绍Mybatis的自动生成步骤。

插件依赖

直接在maven的pom.xml文件中复制粘贴即可。


    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
        
            org.mybatis.generator
            mybatis-generator-maven-plugin
            1.3.5
            
                
                    mysql
                    mysql-connector-java
                    6.0.6
                
                
                    org.mybatis.generator
                    mybatis-generator-core
                    1.3.5
                
            
            
                
                true
                
                true
                
                
                    src/main/resources/generatorConfig.xml
                
            
        
    

BUG提醒:mysql-connector-java的版本问题,如果你的驱动是com.mysql.cj.jdbc.Driver,你就需要6.0.x的版本。如果是com.mysql.jdbc.Driver 则是5.1.x的版本。

注意

如果在工作中,你要使用Mybatis的反向工程生成文件,你应该不能在项目pom.xml中引用上图的依赖,那么你可以专门创建一个sringboot工具项目来生成文件,然后在拖动到你工作项目中。其实我们最需要的是Mapper文件中的restMap,如果你的数据库字段有30 40 个之多,手动Mapper文件绝对会让你怀疑人生。

配置generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>



    
    
    
    
    

        
        

        
        
            
            
        

        
        
        

        
        
            
        

        
        
        
            
            
            
            
            
            
            
            
        

        
        
        
            
        

        
        
        
        
            
            
        

        
        
        
        
        
        
        
        
        
        
        

上图的配置文件中包含了几乎所有你可能用到的参数配置并带有注释,最终在IDEA中你看到项目结构应该是这样的:

image

执行maven命令

IDEA 的右方有MAVEN工具栏

  1. 方式一:通过IDEA的MAVEN工具执行
    image

  2. 方式二:通过MAVEN命令
    配置命令:mybatis-generator:generate -e
    image

然后Run就好了:
image

run成功后,你会在你配置的项目文件夹下看到生成好的代码,然后基于此再做修改。

可能出现的BUG

如果你复制粘贴了代码却出现稀奇古怪的BUG,很有可能是:

  1. 你的maven的配置文件问题
  2. 引用的mysql-connector-java与driverClassName版本不匹配

如果你的驱动是com.mysql.cj.jdbc.Driver,你就需要6.x.x的版本。如果是com.mysql.jdbc.Driver 则是5.x.x的版本。