Mybatis-geneator自动代码生成工具的配置和使用,基础使用和了解这一篇就够了(顺带总结了些使用遇到的坑)

(1)Mybatis-geneator自动代码生成工具

mybatis三剑客之一的mybatis-geneator是一款mybatis自动代码生成工具,可以通过配置连接数据库后,快速生成数据表的pojo字段实体、mapper和xml文件(这两个文件有基础常见的sql增删改查操作)。如下图:

 

Mybatis-geneator自动代码生成工具的配置和使用,基础使用和了解这一篇就够了(顺带总结了些使用遇到的坑)_第1张图片

(2)在Maven项目中配置

找到项目根目录的pom.xml(Mavan依赖关系、架包管理等配置文件),在这个文件中间添加配置。配置方法如下,在最后处的pluginManagement标签的下面创建plugins标签,然后将mybatis-generator插件配置代码放在plugins标签中,代码如下:

  
    
      org.mybatis.generator
      mybatis-generator-maven-plugin
      1.3.2
      
        true
        true
      
    
  

Tips:这里有个坑,其实pluginManagement本身就是插件管理块,里面也有plugins标签,讲道理,我们的mybatis-generator其实应该也要放在这里面的,笔者一开始就是这样放的,但是放了,发现后面配置好之后,在Maven Projects侧根本就找不到mybatis-generator插件工具来生成代码,后面找了一圈解决方法,就是上述的配置,移出pluginManagement,新建plugins标签。

(3)generator的一些基本配置Config(指定连接数据库的配置,生成数据表对应的pojo/mapper/xml等文件配置)

在main的resources目录下创建generatorConfig.xml和datasource.properties配置文件,前者是generator的基本配置,后者是连接数据库如数据库用户名和密码等数据库基本配置。

db.driverLocation=C:/Users/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://192.168.199.193:3306/mall?characterEncoding=utf-8
db.username=root
db.password=123456

Tips: 配置的第一和二行是驱动架包;第三行的192.168.199.193需要替换成所在主机的IP,mall替换成数据库名称;第四行和第五行分别配置为数据库连接的用户名和密码

generatorConfig.xml配置:(这里面引用了datasource.properties是的配置)





    
    

    
    

    

        
        
            
            
        

        
        
        


        
        
            
        


        
        
        
            
            
            
            
            
            
            
            
        

        
        
        
            
        

        

        
        
        
            
            
        

        
        

TIPS:这里面主要就是配置数据库连接、自动生成代码(pojo、mapper、xml)存放位置和配置对应要生产的数据表,具体可以看代码,代码有详细的注释。

基本结构如下:

Mybatis-geneator自动代码生成工具的配置和使用,基础使用和了解这一篇就够了(顺带总结了些使用遇到的坑)_第2张图片

 

 

(3)自动生成代码

上述配置好之后,点击右侧的Maven Projects-Plugins-mybatis generator- mybatis generator,双击,自动生成pojo、mapper和xml文件,生成的结构如上图所示。

Mybatis-geneator自动代码生成工具的配置和使用,基础使用和了解这一篇就够了(顺带总结了些使用遇到的坑)_第3张图片

 

如果,你双击,控制台不报错,那就恭喜了,渡劫成功,如果时候可能会出现一些小问题,看控制台的一些错误提示,修正就好。

(4)基本使用说明

以购物车order_cart表为例:

mybatis-generator自动生成好的原生的mapper和xml后,我们只要在具体实现的代码处通过自动注解,注入mapper就可以实现调用对应方法的串联。

Mybatis-geneator自动代码生成工具的配置和使用,基础使用和了解这一篇就够了(顺带总结了些使用遇到的坑)_第4张图片

(5)一些坑:

  1. 前面说的,Maven Projects侧根本没有mybatis generator,这个就是插件写的位置导致的,按上面的写法,在pluginManagement标签的下面创建plugins标签,然后将mybatis-generator插件配置移动到plugins标签中就行,具体参照上述。
  2. datasource.properties文件中的db.driverLocation值中的路径斜杠是“/”,不是直接复制过来的“\”
  3. 项目运行中,还遇到一个巨坑。我在项目中新增一张表,需要生成这个表的代码,然后重新执行了一边generator,遗憾的巨坑来了,重新生成后他会把mapper中之前我们自己写的自定义方法直接还原覆盖了,项目直接报错,这个坑的一定要注意,要是代码可以源代码管理去,直接覆盖会你倒退几百年。

--在后续的版本迭代中,数据库表难免会有所调整和扩展。此时如果再用mybatis-generator插件重新自动生成,会把该表原有的mapper文件覆盖,xml文件追加。

解决思路参考:

把我们手写的sql放到一个扩展的mapper和xml中,继承原生的mapper和xml,这样就可以每次重新生成时就只覆盖原生的表而不影响到我们自写的代码。

具体参考:

Mybatis_generator自动生成代码覆盖了手写部分xml的解决办法

 

参考:

Maven之pom.xml配置文件详解

mybatis-generator 的坑我都走了一遍

用mybatis的generator自动生成代码--坑我都走了一遍,后面的同学别踩了

 

你可能感兴趣的:(项目实战笔记,工具)