SpringBoot整合mybatis+mybatis-generator+tk.mybtis

近来着手将本年Java项目开发所涉及到的知识点做一个梳理,之前是在他人搭建框架基础上做的功能开发,其实很多不经意间的配置都是有讲究的,不亲自爬坑总归雾里看花

首先使用IDEA自带的SpringBoot构建web项目,勾选mysql+mybaits插件,此时直接启动就会提示数据库不存在报错,就得在application.propertitis或者application.yml配置文件中配置数据库连接

spring:
  datasource:
    name: suzhou_loupan
    url: jdbc:mysql://localhost:3306/suzhou_loupan
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver  #mysql-connector-java高于6.0版本的统一加上cj否则报错#
    type: com.alibaba.druid.pool.DruidDataSource  #这里使用druid数据库管理池#
mybatis:
  mapper-locations: classpath:mappers/*.xml  #mybatis的xml文件目录#
#下面日志配置控制台打印SQL执行语句#
logging:
  level:
    com.myJavaShop.dao: debug  #前面的路径是项目dao目录#

但是实际项目开发时若是实体类都是手写的未免太过费事,引入mybatis-generator自动生成实体类,但是若是仅仅引入mybatis-generator生成的xml文件会生成诸多不必要的单表增删改查,而且生成的实体类注释也是反人类,网上更多是建议新建项目重写mybatis-generator的注释生成方法并打包jar包作为扩展类引入,其实只要再引入tk.mybatis,隐性自带单表增删改查,代码清爽而且自带修改注释。

pom.xml配置文件引入tk.mybatis和mybatis-generator依赖,并整合启动指令到idea中Maven的plugins里面

  
        
        
            org.mybatis.generator
            mybatis-generator-core
            1.3.7
        
        
        
            tk.mybatis
            mapper-spring-boot-starter
            2.1.5
        
        
        
            tk.mybatis
            mapper
            4.1.5
        
        
            tk.mybatis
            mapper-generator
            1.1.5
        


    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.7
                
                    
                        mysql
                        mysql-connector-java
                        8.0.18
                    
                    
                        tk.mybatis
                        mapper
                        4.1.5
                    
                    
                    
                        tk.mybatis
                        mapper-generator
                        1.1.5
                    
                
                
                    
                        mybatis generator
                        package
                        
                            generate
                        
                    
                
                
                
                    
                    true
                    
                    true
                    
                        src/main/resources/mybatis-generator.xml
                    
                
            
        
    

mybatis-generator.xml自动生成插件的配置文件





    

    
    
    
    
        
        
        
        
        
        

        
        
        
        
        
        

        
        
            
        

        
        
            
            
            
            
            
        

        
        
        

        
        
            
            
            
            

            
            
        

        
        
        
            
            
            
            
            
            
            
            
        

        
        
            
            
        

        
        
        
            
            
        

        
        

tk.mybatis引入SpringBoot中还需要在启动类上增加tk的@MapperScan("com.myJavaShop.dao")

package com.myJavaShop;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;

@MapperScan("com.myJavaShop.dao")
@SpringBootApplication
public class ShopApplication {

    public static void main(String[] args) {
        SpringApplication.run(ShopApplication.class, args);
    }

}

如此这般配置完成后,便可以在IDEA中点击生成代码了

IDEA点击自动生成mybatis

下面是Dao层,实体类以及mybatis的xml生成展示,其中可以看到Dao层因为在mybatis-generator.xml中用标签引入了tk.mybatis的接口,此处生成的Dao层会自动继承tk的Mapper,于是便可以不添一行代码使用所有单表操作
Dao层

下面是实体类生成展示,可以看到注释已经变成常规中文注释了
实体类

下面是mybatis的xml生成展示,很清爽,而且标签不再需要配置一堆如enableDeleteByPrimaryKey="false"的属性了,因为引入tk.mybatis后就没必要再生成那些单表的增删改查了
xml

推荐相关链接
1.Mybatis Generator官网文档
2.Mybatis Generator配置详解
3.tk.Mybatis使用说明

你可能感兴趣的:(SpringBoot整合mybatis+mybatis-generator+tk.mybtis)