由于公司框架需要升级为saas系统 看了许多没有觉得太合适的于是决定自行搭建一个 我是java开发 所以我准备使用springboo t前端使用vue顺便学习下前端 首先多租户系统 尽量要把数据隔开 随后选型了mybatisplus dynamic的多数据源 官方文档 好了 开发开始 首先创建一个基础项目随后导入依赖 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 依赖版本不需要太新 否则会导致不能确定的问题 我遇到了Invalid bound statement (not found)这个问题 创建两个数据库用来测试动态数据库 每个数据库中创建个表来验证 首先创建数据库1 随后建表 CREATE TABLE `sys_user` ( `ID` bigint(20) NOT NULL AUTO_INCREMENT, `USERNAME` varchar(255) DEFAULT NULL COMMENT '用户名', `PASSWORD` varchar(255) DEFAULT NULL COMMENT '密码', `PHONE_NUMBER` varchar(255) DEFAULT NULL COMMENT '手机号', `DESCRIPTION` varchar(500) DEFAULT NULL COMMENT '个人简介', `STATUS` tinyint(2) DEFAULT NULL COMMENT '状态', `DEPT_ID` bigint(20) DEFAULT NULL COMMENT '机构id', `COMPANY_ID` bigint(20) DEFAULT NULL COMMENT '公司ID', `CREATE_TIME` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', `UPDATE_TIME` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT=' 用户表'; 数据2同理 这里贴一下yml的配置 server: port: 8088 spring: datasource: druid: #数据库连接池 查看sql stat-view-servlet: enabled: true loginUsername: admin loginPassword: 123456 dynamic: # p6spy: true # 默认false,可以单个数据源配置 primary: master #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源. datasource: master: p6spy: false url: jdbc:mysql://192.168.1.136:3306/saas?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT username: root password: admin driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 no1: p6spy: false url: jdbc:mysql://192.168.1.136:3306/saas1?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT username: root password: admin driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 #mybatis plus 设置 mybatis-plus: type-aliases-package: com.demo.saas.system.entity mapper-locations: classpath:com/demo/saas/system/mapper/xml/*Mapper.xml 然后写两个接口同时执行同样的查询语句 写两个api 使用postman测试一下 返回了不同的数据 ok 是我们想要的结果 今天就到这里