SpringBoot集成MyBatis

Druid的优点

 DRUID是阿里巴巴开源平台上一个数据库连接池实现 是Java语言中最好的数据库连接池。它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快)。Druid能够提供强大的监控和扩展功能

https://www.cnblogs.com/wuyun-blog/p/5679073.html

1. 集成 Druid:

创建项目:

 

Starter POM(首先导入druid)

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.6</version>
</dependency>

application.yml(直接复制修改即可)

spring:
  datasource:
    druid:
      url: jdbc:mysql://ip:port/dbname?useUnicode=true&characterEncoding=utf-8&useSSL=false
      username: root
      password: 123456
      initial-size: 1
      min-idle: 1
      max-active: 20
      test-on-borrow: true
      driver-class-name: com.mysql.jdbc.Driver

2. 集成 tk.mybatis

我们使用 tk.mybatis 简化 mybatis 开发,所以我们在 pom 中仅添加 tk.mybatis 的 starter pom

Starter POM

<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>1.1.5</version>
</dependency>
 
<dependency>
    <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>

application.yml(在配置文件中添加mybatis的配置)

mybatis:
 type-aliases-package: com.suchuanqi.spring.boot.mybatis.domain   
mapper-locations: classpath:mapper/*.xml 

创建 MyMapper 通用接口

package com.suchuanqi.spring.boot.utils;
 
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
 
/**
 * 自己的 Mapper
 * 特别注意,该接口不能被扫描到,否则会出错所以他不能够和启动springboot的那个类在 同一个包下或者是子包
 * <p>Title: MyMapper</p>
 * <p>Description: </p>
*/
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
 
}

3集成 PageHelper

我们使用 PageHelper 做数据库分页插件

Starter POM

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

4. MyBatis Maven Plugin 自动生成代码

我们使用 MyBatis 的 Maven 插件来生成数据库访问代码

POM

<build>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.6</version>
            <configuration>
                <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                <overwrite>true</overwrite>
                <verbose>true</verbose>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>${mysql.version}</version>
                </dependency>
                <dependency>
                    <groupId>tk.mybatis</groupId>
                    <artifactId>mapper</artifactId>
                    <version>3.4.4</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

自动生成配置

在 src/main/resources/generator/ 目录下创建 generatorConfig.xml 配置文件:

<?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">



<generatorConfiguration>

    <properties resource="jdbc.properties"/>



    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">

        <property name="beginningDelimiter" value="`"/>

        <property name="endingDelimiter" value="`"/>



        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">

            <property name="mappers" value="com.suchuanqi.spring.boot.utils.MyMapper"/>

        </plugin>



        <jdbcConnection

                driverClass="${jdbc.driverClass}"

                connectionURL="${jdbc.connectionURL}"

                userId="${jdbc.username}"

                password="${jdbc.password}">

        </jdbcConnection>



        <javaModelGenerator targetPackage="com.suchuanqi.spring.boot.mybatis.domain" targetProject="src/main/java"/>



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



        <javaClientGenerator

                targetPackage="com.suchuanqi.spring.boot.mybatis.mapper"

                targetProject="src/main/java"

                type="XMLMAPPER"/>



        <table tableName="%">

            <!-- mysql 配置 -->

            <generatedKey column="id" sqlStatement="Mysql" identity="true"/>

        </table>

    </context>

</generatorConfiguration>

数据源配置

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

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://ip:port/dbname?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.username=root
jdbc.password=123456

生成代码

mvn mybatis-generator:generate

 

 

进行代码测试

在test的包下进行测试:

 

注意上图可能会报错是因为我们要在springboot启动的入口哪里要添加一个扫描器进行扫描的注解,如下所所示:

 

posted @ 2019-08-26 13:56  Java-Legend  阅读(204)  评论(0编辑  收藏  举报