多环境配置

2023-11-18

Mybatis-plus

需要添加一个依赖,这个是baomidou官方的动态数据源包

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
        <version>3.3.1</version>
    </dependency>

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.3.1</version>
    </dependency>
</dependencies>

配置文件:

spring:
  datasource:
    dynamic:
      primary: story #设置默认的数据源或者数据源组,默认值即为master
      strict: false  #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
      datasource:
        story:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:3306/story?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
          username: root
          password:
        test:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
          username: root
          password:

还可以用@DS在不同的类或方法中指定数据源

public interface MoneyService extends IService<MoneyPo> {
}

@Service
@DS("story")
public class StoryMoneyServiceImpl extends ServiceImpl<MoneyMapper, MoneyPo> implements MoneyService {
}

@Service
@DS("test")
public class TestMoneyServiceImpl extends ServiceImpl<MoneyMapper, MoneyPo> implements MoneyService {
}

注解生效优先级:方法>类

@Service
public class MoneyServiceImpl extends ServiceImpl<MoneyMapper, MoneyPo> implements MoneyService {

    @DS("story")
    public List<MoneyPo> findByStoryIds(Collection<Long> ids) {
        return baseMapper.selectBatchIds(ids);
    }

    @DS("test")
    public List<MoneyPo> findByTestIds(Collection<Long> ids) {
        return baseMapper.selectBatchIds(ids);
    }
}

【SpringBoot DB 系列】Mybatis-Plus 多数据源配置 - 腾讯云开发者社区-腾讯云

Mybatis

Mybatis–配置解析–配置多个环境_ML.star的博客-CSDN博客_mybatis 可以配置成适应多种环境,这种机制有助于将sql映射应用于多种数据库之中。什么标签是配

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多环境配置 的相关文章

随机推荐

  • Redis常用的5种数据类型底层结构是怎样构成的

    前言 Redis是一个基于内存中的数据结构存储系统 可以用作数据库 缓存和消息中间件 Redis支持五种常见对象类型 字符串 String 哈希 Hash 列表 List 集合 Set 以及有序集合 Zset 我们在日常工作中也会经常使用它
  • 架构师成长之路

    延迟队列实现 基于监听key过期实现的延迟队列实现 这里需要继承KeyspaceEventMessageListener类来实现监听redis键过期 public class KeyExpirationEventMessageListene
  • Java CGLIB动态代理示例

    1 CGLIB动态代理简介 JDK动态代理是利用反射机制生成一个实现代理接口的匿名类 在调用具体方法前调用InvokeHandler来处理 而cglib动态代理是利用asm开源包 对代理对象类的class文件加载进来 通过修改其字节码生成子
  • pandas基础用法详解

    pandas基础用法详解 本文旨在总结pandas的基础用法 越用越发感觉基础的重要性 复杂和高级只是基础的衍生 扎实的基础和深刻的理解能帮助我们更快的弄懂复杂的东西 基础的熟悉的也就就能轻松发挥了 pandas是什么 Pandas 是一个
  • rabbitmq的DefaultConsumer使用和不同交换机模式的代码示例

    Defaultconsumer public class Consumer public static void main String args throws IOException TimeoutException 获取TCP长连接 C
  • 基于状态机的单个按键长按,短按实现复用

    开博第一文 希望再次记录学习的过程 按键扫描 单片机里面再基础不过的程序了 但对于初学者来说 用好按键也不是一件简单的事情 在毛老师的介绍下 第一次知道了状态机的思想也可以用于单片机的程序设计 感觉很是新奇 看了老师给发的几个文档后对状态机
  • 毕业设计 嵌入式 MP3音乐播放器设计与实现

    文章目录 1 简介 2 绪论 2 1 课题背景与目的 3 系统设计 3 1 系统架构 3 2 软件部分设计 3 3 实现效果 3 4 部分相关代码 4 最后 1 简介 Hi 大家好 学长今天向大家介绍一个 单片机项目 基于单片机的MP3音乐
  • 数据结构---HashSet存值和取值

    HashSet存值和取值 存 取 HashMap实现了Map接口 而HashSet实现了Set接口 HashMap用于存储键值对 而HashSet用于存储对象 HashMap不允许有重复的键 可以允许有重复的值 HashSet不允许有重复元
  • 【一千个论文合集】计算机科学的26个细分领域近年必读论文集合

    文章目录 1 机器学习 2 计算机视觉 3 自然语言处理 4 数据挖掘 5 机器人 6 知识工程 7 模式识别 8 信息检索与推荐 9 数据库 10 人机交互 11 计算机图形学 12 多媒体 13 可视化 14 数据科学 15 安全与隐私
  • vue利用 sortable 完成表格拖拽

    先讲一下vue2 使用sortable完成表格拖拽 不只是表格 div也可以实现 但我项目中是表格拖拽 github地址 安装 npm install sortablejs save 使用 我的项目中是拖拽一个小按钮移动 而不是整行
  • umi:配置式路由

    场景描述 很多时候 我们需要做到简单的路由拦截 比如用户未登录的时候 我们需要跳转到登录页面 等到用户登录后在重新跳转到之前的页面 而很多情况下这些是约定式路由无法完成的 就需要我们配置式路由 论述 umi自带的约定式路由 可以自动的生成路
  • element-ui的table表格实现跨页多选及回显效果

    效果图 安装 Element ui 和 egrid 基于 Element UI Table 组件封装的高阶表格组件 可无缝支持 element 的 table 组件 npm i element ui S npm i egrid S 引入 E
  • kubectl常用命令

    alias k kubectl alias kc k create f alias kgp k get pods alias kdp k describe pods alias kdep k delete pods alias kl k l
  • mysql 判断字符串相等_「8」掌握MySQL比较运算符是很有必要的

    本文要的主题就是MySQL比较运算符 也就是通过各类案例来看看其运行得到的结果是什么 以及掌握其规则 首先 我们看看比较运算符有哪些种类 接下来我们就通过案例的案例的方式来逐一学习 1 等于运算符 是用来判断数字 字符串和表达式是否相等 如
  • 面向对象编程中composition、aggregation、association的区别

    在面向对象程序设计中 对象的关系主要有三种 composition aggregation association composition 组合 复合 对象x的生命期由唯一拥有者owner控制 owner析构时会把x同步析构 例如Engin
  • uni-app css尺寸单位rpx介绍

    一 前言 1 在使用uni app开发小程序时支持的尺寸单位如下 1 基础单位 px rpx 2 h5单位 rem vm vh 2 rpx是微信小程序提出的一种响应式px 二 rpx介绍 1 现实情况下 ui设计师只提供一个分辨率的图 严格
  • css层叠样式表——css基础介绍

    css层叠样式表第一天 css层叠样式表01 css层叠样式表第一天 css介绍 css语法 html标签全局属性 引入css样式的方式 知识点应用 css介绍 css是Cascading Style Sheet的缩写 中文 层叠样式表 是
  • M1 Pro 安卓模拟器+Xposed环境

    吐槽 最近换了台mac 发现mac对程序员真的太友好了 一些环境配置起来很方便 借助brew几乎都是一行命令的事 但是有一些环境还不是那么好配 在这做一下记录 这次要说的是安卓模拟器 我本人是有一台Google Pixel真机的 插上数据线
  • Python-Tensorflow猫狗数据集分类,96%的准确率

    import tensorflow as tf from tensorflow import keras from tensorflow keras import layers curl O https download microsoft
  • 多环境配置

    Mybatis plus 需要添加一个依赖 这个是baomidou官方的动态数据源包