Spring Boot 整合 tk.mybatis

0.关于 tk.mybatis

  • 通用Mapper可以极大地方便开发人员。程序员可以随意的按照自己的需要选择通用方法,还可以很+ 方便的开发自己的通用方法。
  • 支持单表操作,不支持通用的多表联合查询。
  • tk.mybatis 在 MyBatis 框架的基础上提供了很多工具,让开发更加高效
    文档: https://github.com/abel533/Mapper/wiki

1.Spring Boot 整合 tk.mybatis

1)引入依赖

在 pom.xml 文件中引入 mapper-spring-boot-starter 依赖,该依赖会自动引入 MyBaits 相关依赖

<dependency>
    <groupId>tk.mybatisgroupId>
    <artifactId>mapper-spring-boot-starterartifactId>
    <version>版本号version>
dependency>
2)配置 MyBatis

application.yml:

mybatis:
  type-aliases-package: com.nic.api.entity
  mapper-locations: classpath:mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true
3)创建一个通用的父级接口
package tk.mybatis;

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

/**
 * 通用的父级接口,让DAO层的接口继承该接口
 * 该接口不能被扫描到,否则会出错
 * @param 
 */
public interface MyMapper<T> extends Mapper<T>,MySqlMapper<T> {
}

2.使用 MyBatis 的 Geneator 插件生成代码

使用该插件可以自动生成实体类、DAO、XML 配置文件,不需要手动编写,如果业务比较复杂只需要修改相关文件即可。
Mybatis Geneator 详解: http://blog.csdn.net/isea533/article/details/42102297

1)在 pom.xml 文件中增加 mybatis-generator-maven-plugin 插件
<build>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generatorgroupId>
            <artifactId>mybatis-generator-maven-pluginartifactId>
            <version>1.3.5version>
            <configuration>
                <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xmlconfigurationFile>
                <overwrite>trueoverwrite>
                <verbose>trueverbose>
            configuration>
            <dependencies>
                <dependency>
                    <groupId>mysqlgroupId>
                    <artifactId>mysql-connector-javaartifactId>
                    <version>${mysql.version}version>
                dependency>
                <dependency>
                    <groupId>tk.mybatisgroupId>
                    <artifactId>mapperartifactId>
                    <version>3.4.4version>
                dependency>
            dependencies>
        plugin>
    plugins>
build>
2)配置数据库相关信息:

在 src/main/resources 目录下创建 jdbc.properties 数据源配置:

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/site?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
jdbc.username=root
jdbc.password=
3)在 src/main/resources/generator/ 目录下创建 generatorConfig.xml 配置文件:



<generatorConfiguration>
    
    <properties resource="jdbc.properties"/>

    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        
        <property name="javaFileEncoding" value="UTF-8"/>

        
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="tk.mybatis.MyMapper"/>
        plugin>

        
        <jdbcConnection
                driverClass="${jdbc.driverClass}"
                connectionURL="${jdbc.connectionURL}"
                userId="${jdbc.username}"
                password="${jdbc.password}">
        jdbcConnection>

        
        <javaModelGenerator targetPackage="com.nic.api.entity" targetProject="src/main/java"/>

        
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>

        
        <javaClientGenerator
                targetPackage="com.nic.api.mapper"
                targetProject="src/main/java"
                type="XMLMAPPER"/>

        
        <table catalog="site" tableName="%">
            <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
        table>
    context>
generatorConfiguration>
4)执行命令自动生成代码
mvn mybatis-generator:generate

你可能感兴趣的:(Mybatis,Spring,boot)