Spring中使用MyBatis Generator

简介

MyBatis Generator 是由MyBatis官方提供的MyBatis代码生成器。可以根据数据库表生成相关代码,比如POJO、Mapper接口、SQL Map xml等。

使用方式

MBG提供了多种的不同场景下的使用方式。

  • 命令行方式
  • maven 插件方式
  • eclipse 插件方式
  • Java程序
  • ant task

配置MBG

MBG所有的配置都是在xml文件里做的。有如下几部分:

  • generatorConfiguration
  • context
    • jdbcConnection
    • javaModelGenerator
    • sqlMapGenerator
    • javaClientGenerator(ANNOTATEDMAPPER、XMLMAPER、MIXEDMAPPER)
      • ANNOTATEDMAPPER:使用注解方式
      • XMLMAPER:使用xml方式
      • MIXEDMAPPER:使用混合方式,复杂的使用xml方式、简单的使用注解方式
    • table

一个大的generatorConfiguration,里面回对上下文做些配置。

可以使用的插件

MBG内置了很多插件,我们可以按照需要配置在配置文件中处理我们的需求。内置的插件都在org.mybatis.generator.plugins包中。

  • FluentBuilderMethodsPlugin
  • ToStringPlugin
  • SerializablePlugin
  • RowBoundsPlugin

另外我们也可以自定义实现使用自己的插件。

使用

这里以maven插件的方式为例,在Spring中使用MBG,并且使用自己定义的插件(主要用来解决,MyBatis Generator每次生成代码会覆盖原来的sql问题。解决方案也简单:在默认生成的代码文件的基础上,在增加一套扩展的、自己业务里使用的xxxMapper.java和xxxMapper.xml)。

添加依赖

在maven项目的pom文件里添加相关依赖和插件

				
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.4
        

        
          org.mybatis.generator
          mybatis-generator-maven-plugin
          1.3.5

          
            
              mysql
              mysql-connector-java
              8.0.11
              runtime
            
            
              com.lucky
              mybatis-generator-extend
              1.0-SNAPSHOT
            
          
          
            ${basedir}/src/main/resources/generator/generatorConfig.xml
            true
            true
          
        

如上分别是mybatis在Spring中使用的依赖,以及MyBatis Generator的插件。同时由于我们使用自己的插件,这里把插件的依赖mybatis-generator-extend也添加了进来。

generatorConfig.xml配置文件






    


        
        
            
            
            
            
            
        

        
            
            
            
        
        
        
            
        
        
            
        
        
        
            
            
        
        
        
            
        
        
        
            
        
        
        

如上就是MBG使用的配置文件参数的配置。和常规使用不同的就是添加了自定义的插件。

定义属性值

在配置文件中,有些值的定义是通过属性配置的。这里需要将其进行配置。

    
        ${basedir}
        
        com.lucky.spring.dao
        
        mapper
        
        com.lucky.spring.model
    

执行插件

在上面所有配置都配置完成后,执行mybatis-generator:generate这个goal来生成对应文件。
Spring中使用MyBatis Generator_第1张图片
生成的两个扩展文件分别是xxXMapperExt.java和xxXMapperExt.xml两个文件。自己业务的实现就放到这两个文件里就可以了。当表设计变动时再次执行这两个扩展不会被覆盖。

Spring中使用MyBatis Generator_第2张图片Spring中使用MyBatis Generator_第3张图片

你可能感兴趣的:(Spring中使用MyBatis Generator)