【Java】分库分表 项目实战最简单逻辑 全代码 (个人梳理)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【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&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;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&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;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=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值