动态注册多数据源

最后更新:2023-10-18 21:25:31 | 状态:未完成

在系统启动后通过java注册数据源

还是通过DataSourceHolder.addDataSource(String key, DataSource ds)添加新的数据源

DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://ip:port/api?useUnicode=true&characterEncoding=UTF8");
ds.setUsername("root");
ds.setPassword("root");
//或者这样 如果要设置更多参数 放到map里
String url = "jdbc:mysql://127.0.0.1:3306/sso?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
DataSourceHolder.reg("sso", "com.zaxxer.hikari.HikariDataSource", "com.mysql.cj.jdbc.Driver", url, "root", "root");

...更多参数设置

DataSourceHolder.addDataSource("api", ds);

调用时与XML配置的数据源调用方式相同

注意如果需要覆盖数据源 先设置spring.main.allow-bean-definition-overriding=true否则会抛出异常

最近更新 搜索 提交