spring boot集成mybatis和数据源管理

Updated on in 程序人生 with 0 views and 0 comments

一、引入依赖

1.1 引入版本

在工程的pom文件的properties中添加代码,分别引入mybatis,dynamic-datasource,mysql-connector

        <mybatisplus.version>3.3.1</mybatisplus.version>
        <dynamic-datasource-spring-boot-starter.version>3.2.0</dynamic-datasource-spring-boot-starter.version>
        <mysql-connector-java.version>8.0.27</mysql-connector-java.version>

1.3 引入依赖

在工程的pom文件中添加依赖

 <!--  mybatis-plus  -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatisplus.version}</version>
        </dependency>
        <!-- 动态数据源 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>${dynamic-datasource-spring-boot-starter.version}</version>
        </dependency>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql-connector-java.version}</version>
            <scope>runtime</scope>
        </dependency>

二、配置

中新建三个配置文件application.yml、application-dev.yml、application-prod.yml,dev和prod文件对应开发环境和生产环境

2.1 yml配置文件

application.yml文件内容如下

spring:
  application:
    name: bs-boot-system
  profiles:
    active: dev
#    active: prod

application-dev.yml文件内容如下

server:
  port: 8082
  servlet:
    context-path: /bs
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB
  #json 时间戳统一转换
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
  jpa:
    open-in-view: false
  aop:
    proxy-target-class: true
  autoconfigure:
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
  datasource:
    dynamic:
      enabled: true #启用动态数据源,默认true
      druid:
        stat-view-servlet:
          enabled: true
          loginUsername: admin
          loginPassword: 123456
          allow:
        web-stat-filter:
          enabled: true
        initial-size: 5
        min-idle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        filters: stat,wall,slf4j
        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      primary: master
      datasource:
        master:
          url: jdbc:mysql://*****:43206/bs-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&allowMultiQueries=true
          username: ****
          password: ****
          driver-class-name: com.mysql.cj.jdbc.Driver
#mybatis plus 设置
mybatis-plus:
  # mybatis的xml文件地址
  mapper-locations: classpath*:cn/com/wenyl/bs/**/xml/*Mapper.xml
  global-config:
    # 关闭MP3.0自带的banner
    banner: false
    db-config:
      #主键类型
      id-type: ASSIGN_ID
      # 默认数据库表下划线命名
      table-underline: true
  configuration:
    # 打印SQL。开发环境启用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 处理查询空值
    call-setters-on-nulls: true
  shiro:
    excludeUrls:




application-prod.yml文件配置与dev文件相同,根据生产环境去更改地址,用户名密码信息即可

2.2 启动类配置

新增启动类内容如下,需要在这里配置Mapper接口的扫描路径

package cn.com.wenyl.bs;

import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@MapperScan(value={"cn.com.wenyl.bs.**.mapper*"})
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class BSBootApplication {
    public static void main(String[] args){
        SpringApplication.run(BSBootApplication.class);
    }
}


标题:spring boot集成mybatis和数据源管理
作者:wenyl
地址:http://www.wenyoulong.com/articles/2023/12/04/1701677278325.html