| <?xml version="1.0" encoding="UTF-8"?> |
| <beans xmlns="http://www.springframework.org/schema/beans" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:context="http://www.springframework.org/schema/context" |
| xmlns:tx="http://www.springframework.org/schema/tx" |
| xmlns:sharding="http://shardingsphere.io/schema/shardingsphere/sharding" |
| xsi:schemaLocation="http://www.springframework.org/schema/beans |
| http://www.springframework.org/schema/beans/spring-beans.xsd |
| http://www.springframework.org/schema/tx |
| http://www.springframework.org/schema/tx/spring-tx.xsd |
| http://www.springframework.org/schema/context |
| http://www.springframework.org/schema/context/spring-context.xsd |
| http://shardingsphere.io/schema/shardingsphere/sharding |
| http://shardingsphere.io/schema/shardingsphere/sharding/sharding.xsd"> |
| <context:component-scan base-package="io.shardingsphere.example.spring.namespace.mybatis" /> |
| |
| <!--<bean id="demo_ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">--> |
| <!--<property name="driverClassName" value="com.mysql.jdbc.Driver"/>--> |
| <!--<property name="url" value="jdbc:mysql://localhost:3306/demo_ds"/>--> |
| <!--<property name="username" value="root"/>--> |
| <!--<property name="password" value=""/>--> |
| <!--</bean>--> |
| |
| <bean id="demo_ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> |
| <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> |
| <property name="url" value="jdbc:sqlserver://10.222.16.144:1433;DatabaseName=test"/> |
| <property name="username" value="sa"/> |
| <property name="password" value="Jdbc1234"/> |
| </bean> |
| |
| <bean id="preciseModuloTableShardingAlgorithm" class="io.shardingsphere.example.spring.namespace.mybatis.fixtrue.algorithm.PreciseModuloTableShardingAlgorithm" /> |
| |
| <sharding:standard-strategy id="orderTableShardingStrategy" sharding-column="order_id" precise-algorithm-ref="preciseModuloTableShardingAlgorithm" /> |
| <sharding:standard-strategy id="orderItemTableShardingStrategy" sharding-column="order_id" precise-algorithm-ref="preciseModuloTableShardingAlgorithm" /> |
| |
| <sharding:data-source id="shardingDataSource"> |
| <sharding:sharding-rule data-source-names="demo_ds"> |
| <sharding:table-rules> |
| <sharding:table-rule logic-table="t_order" actual-data-nodes="demo_ds.t_order_${0..1}" table-strategy-ref="orderTableShardingStrategy" generate-key-column-name="order_id" /> |
| <sharding:table-rule logic-table="t_order_item" actual-data-nodes="demo_ds.t_order_item_${0..1}" table-strategy-ref="orderItemTableShardingStrategy" generate-key-column-name="order_item_id" /> |
| </sharding:table-rules> |
| <sharding:binding-table-rules> |
| <sharding:binding-table-rule logic-tables="t_order, t_order_item"/> |
| </sharding:binding-table-rules> |
| </sharding:sharding-rule> |
| </sharding:data-source> |
| |
| <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> |
| <property name="dataSource" ref="shardingDataSource" /> |
| </bean> |
| <tx:annotation-driven /> |
| |
| <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> |
| <property name="dataSource" ref="shardingDataSource"/> |
| <property name="mapperLocations" value="classpath*:META-INF/mappers/*.xml"/> |
| </bean> |
| |
| <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> |
| <property name="basePackage" value="io.shardingsphere.example.spring.namespace.mybatis"/> |
| <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> |
| </bean> |
| </beans> |