阿飞Javaer,转载请注明原创出处,谢谢!
本篇文章讲解如何在ssm(spring、springmvc、mybatis)架构的程序上集成sharding-jdbc(版本为1.5.4.1)进行分库分表;
假设分库分表行为如下:
- 将auth_user表分到4个库(user_0~user_3)中;
- 其他表不进行分库分表,保留在default_db库中;
1. POM配置
以spring配置文件为例,新增如下POM配置:
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>sharding-jdbc-core</artifactId>
<version>1.5.4.1</version>
</dependency>
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>sharding-jdbc-config-spring</artifactId>
<version>1.5.4.1</version>
</dependency>
此次集成sharding-jdbc以1.5.4.1版本为例,如果是2.x版本的sharding-jdbc,那么需要将坐标
<groupId>com.dangdang</groupId>
修改为<groupId>io.shardingjdbc</groupId>
;另外,如果是yaml配置,那么需要将坐标<artifactId>sharding-jdbc-config-spring</artifactId>
修改为<artifactId>sharding-jdbc-config-yaml</artifactId>
;
2. 配置数据源
spring-datasource.xml配置所有需要的数据源如下–auth_user分库分表后需要的4个库user_0~user_3,以及不分库分表的默认库default_db:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 配置数据源 -->
<bean id="sj_ds_0" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="url" value="${sj_user_0.url}" />
<property name="username" value="${sj_user_0.username}" />
<property name="password" value="${sj_user_0.password}" />
<!--druid配置优化可以放在这里-->
</bean>
<!-- 配置数据源 -->
<bean id=