【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.jdbc.core.JdbcTemplate">
<entry key="shard007f" value-ref="jdbcTemplateShard007f"/>

本文介绍了基于Java实现分库分表的简单逻辑,主要根据ID首位和末位的奇偶性进行分配。首先,配置多数据源作为前提,然后在DAO层实现分库分表的判断。通过提供接口、实现类、数据库PO类和服务层接口,完成从Controller到Service的调用流程。最后,总结了分库分表的完整代码逻辑,并强调了前端如何查询显示分库分表名及数据。
最低0.47元/天 解锁文章
1832

被折叠的 条评论
为什么被折叠?



