Springboot和mybatis-plus支持多数据源(多数据库)
1、pom添加依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
2、修改yml文件
spring:
datasource:
dynamic:
primary: newSystem #设置默认的数据源或者数据源组,默认值即为master
strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
datasource:
#数据库1
newSystem:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:9001/db1?autoReconnect=true&useSSL=false&characterEncoding=utf-8&useTimezone=true&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
username: user1
password: passport1
#数据库2
oldSystem:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:9002/db/db58_ailab_ior?useSSL=false
username: user2
password: passport2
# hikari使用较差配置
hikari:
# 最小空闲链接
minimum-idle: 1
# 空闲连接存活最大时间,默认600000(10分钟)
idle-timeout: 360000
# 连接池最大连接数,默认是10
maximum-pool-size: 3
# 此属性控制从池返回的连接的默认自动提交行为,默认值:true
auto-commit: true
# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
max-lifetime: 1800000
# 数据库连接超时时间,默认30秒,即30000
connection-timeout: 30000
3、如何使用其他数据源
3.1、使用注意事项
- 必须在实现类中使用注解(@DS
- 。。。
3.2、使用case
接口:
public interface OldScriptService {
List<SpeechScript> getByCreator(String creator);
int update(SpeechScript script);
}
实现类:
@DS("oldSystem")
@Service
public class OldScriptServiceImpl implements OldScriptService {
@Resource
private SpeechScriptMapper speechScriptMapper;
@Override
public List<SpeechScript> getByCreator(String creator) {
Map<String,Object> params = new HashMap<>(1);
params.put("creator", creator);
QueryWrapper<SpeechScript> queryWrapper = Wrappers.query();
queryWrapper.allEq(params);
return speechScriptMapper.selectList(queryWrapper);
}
@Override
public int update(SpeechScript script) {
return speechScriptMapper.updateById(script);
}
}
getByCreator、update使用的就是oldSystem这个数据源访问。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器