【Java】分库分表 最简单的判断逻辑 全代码 (个人梳理)
需求:根据ID首位奇偶性分库 根据ID末位奇偶性分表
文章目录
前言
现在网上用中间件MyCat,ShardingJdbc,插件分库分表实现数不胜数,那让我们走进最简单的底层代码,如何实现简单的分库分表逻辑
一、分库分表前提:配置多数据源
<!--分库1配置-->
<bean id="dataSource007f" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://192.168.1.201:3306/practice_cut_one?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&rewriteBatchedStatements=true" />
<property name="username" value="自己的账户名" />
<property name="password" value="自己的密码" />
</bean>
<bean id="jdbcTemplateShard007f" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource007f"/>
</bean>
<!--分库2配置-->
<bean id="dataSource80ff" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://192.168.1.201:3306/practice_cut_two?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&rewriteBatchedStatements=true" />
<property name="username" value="自己的账户名" />
<property name="password" value="自己的密码" />
</bean>
<bean id="jdbcTemplateShard80ff" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource80ff"/>
</bean>
<!--分库模板集合-->
<util:map id="shardJdbcTempMap" map-class="java.util.HashMap" key-type="java.lang.String" value-type="org.springframework.jd