SpringBoot2.1整合Mybatis-Generator以及tk.mybatis


1:添加依赖

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

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    
    com.dev
    devloper-mine
    0.0.1-SNAPSHOT
    devloper-mine
    dev project for Spring Boot

    
        1.8

        
        
        ${basedir}/src/main/java
        com.dev.mapper.repositry
        com.dev.model
        
        ${basedir}/src/main/resources
        mapper

        
        4.1.5
        1.0.2
        tk.mybatis.mapper.generator.MapperPlugin
        tk.mybatis.mapper.common.Mapper
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
        
            tk.mybatis
            mapper
            ${tk.mybatis.version}
        

        
        
        
            javax.persistence
            persistence-api
            ${persistence.version}
        

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.0.1
        

        
        
            com.alibaba
            druid-spring-boot-starter
            1.1.17
        

        
        
            mysql
            mysql-connector-java
            8.0.16
        


    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            

            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            

            
            
                
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.7
                
                    
                    src/main/resources/mybatis-generator/generator-config.xml
                    
                    true
                    
                    true
                

                
                    
                    
                        tk.mybatis
                        mapper
                        ${tk.mybatis.version}
                    

                

            
        
    

notice1:使用了 mybatis-generator+通用mapper 可以生成model、mapper、mapper.xml文件,但是若不加mybatis的依赖生成的文件会报错...

notice2:使用了mybatis就要配数据源否则会启动报错...

notice3:pom依赖中可以配置依赖版本号、mapper、model等的存放位置...

2:添加一个mybatis-generator需要用的db.properties文件(也可以不添加)

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/dsos_zgq?&useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

#插件位置
mapper.plugin=tk.mybatis.mapper.generator.MapperPlugin
#生成的mapper类继承的父类的位置
mapper.Mapper=com.dev.mapper.BaseMapper

如图:

3:添加generator-config.xml(要和pom文件中配置的路径一致)

<?xml version="1.0" encoding="UTF-8"?>
DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">


    

    <classPathEntry
            location="D:\IntelljIdea\Maven3.5\localmaven\mysql\mysql-connector-java\8.0.16\mysql-connector-java-8.0.16.jar"/>

    
    
        
        
        
        

        
            
        

        
            
            
            
        

        
                        connectionURL="${jdbc.url}"
                        userId="${jdbc.username}"
                        password="${jdbc.password}">

            
            

            
            
            
        

        
            
        

        

        
        
                             type="XMLMAPPER"/>

        
    

 4:编写一个通用mapper的接口BaseMapper

package com.dev.mapper;

import tk.mybatis.mapper.common.IdsMapper;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

/**
 * Created by zgq7 on 2019/6/24.
 * 让生成的mapper文件都集成该接口
 */
public interface BaseMapper extends Mapper, MySqlMapper, IdsMapper {

}

notice1:类路径要与db.properties中定义的一样,不然会报错...

5:application.xml的配置

server.port=8022
server.servlet.context-path=/
#druid数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.url=jdbc:mysql://localhost:3306/dsos_zgq?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.username=root
spring.datasource.druid.password=root
#druid连接配置
spring.datasource.druid.db-type=mysql
#druid测试
spring.datasource.druid.test-on-borrow=true
#打印sql(两种都可以,但是我偏向后者了)
#mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
logging.level.com.dev.mapper.repositry=debug 

在此处我思索了一下druid的配置,我这里只是做简单配置而已,而且不止这一种配置方法,还有其他的配置方法,但是这种明显更方便更快捷。

后面我会更新druid的相关配置其他写法,多多研究一下。

6:运行mybatis-generator的插件,生成相关文件。

生成的文件结构如下:

7:进行单元测试看看是否能正常运行嘿嘿~~

notice1:可以看到sql日志也打出来了

notice2:单元测试也成功了,大功完成啦啦啦。。。。

总结:学习新的知识,了解新的用法,才能收获更多。

附mybatis官网地址关于xml配置的详情介绍:http://www.mybatis.org/generator/configreference/table.html