动态注册多数据源

在系统启动后通过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配置的数据源调用方式相同

需要注意的是,添加数据源时如果key重复,会抛出异常

其他文档