1.引入依赖
<dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>2.0.3</version> </dependency>
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; } }