1.引入依赖
io.shardingjdbc
sharding-jdbc-core
2.0.3
2.在src/main/resources中添加配置文件sharding-jdbc.yml
dataSources:
db_master: !!com.zaxxer.hikari.HikariDataSource
driverClassName: com.mysql.jdbc.Driver
jdbcUrl: jdbc:mysql://192.168.31.128:3307/gmall_pms?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
db_slave1: !!com.zaxxer.hikari.HikariDataSource
driverClassName: com.mysql.jdbc.Driver
jdbcUrl: jdbc:mysql://192.168.31.128:3316/gmall_pms?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
db_slave2: !!com.zaxxer.hikari.HikariDataSource
driverClassName: com.mysql.jdbc.Driver
jdbcUrl: jdbc:mysql://192.168.31.128:3317/gmall_pms?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
masterSlaveRule:
name: db_ms
masterDataSourceName: db_master
slaveDataSourceNames: [db_slave1,db_slave2]
###注意,这份文档直接从官网复制的。!!后面是DataSource的实现类全类名不能省略。
###多个slave加多份db_slaveXX配置即可,在slaveDataSourceNames列举这些slaver
3.添加数据源配置类
/**
* 这是一个配置类
*
* SpringBoot引入某个场景,这个场景的组件就会自动配置好。
* 1)、
*/
@Configuration
public class PmsDataSourceConfig {
@Bean
public DataSource dataSource() throws IOException, SQLException {
File file = ResourceUtils.getFile("classpath:sharding-jdbc.yml");
DataSource dataSource = MasterSlaveDataSourceFactory.createDataSource(file);
return dataSource;
}
}