springboot+mybatis+sharding-jdbc整合分库分表实战

本文介绍了如何在SpringBoot项目中结合Mybatis和Sharding-JDBC进行分库分表实战。首先,通过引入Sharding-JDBC的jar包并创建分片所需的数据表。接着,详细展示了从Mapper接口到Controller类的工程结构和配置,包括application.properties的设置。在实际操作中,通过不同主键ID尾数来演示数据在t_user_1和t_user_2表之间的分布。最后,探讨了Sharding-JDBC的分片算法,包括精确分片、范围分片、复合分片和Hint分片,并提供了分库分表的配置示例。
摘要由CSDN通过智能技术生成

接上一张分库分表分析。项目代码地址:https://gitee.com/wuhan1/sharding-jdbc.git
1.引入jar包

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.5.RELEASE</version>
		<relativePath />
	</parent>


		<!-- springboot -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!-- 添加 MySQL -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>

		<!-- Mybatis -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.2.0</version>
		</dependency>

		<!-- druid -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.9</version>
		</dependency>

		<!-- sharding-jdbc -->
		<dependency>
			<groupId>io.shardingsphere</groupId>
			<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
			<version>3.1.0</version>
		</dependency>

2.新建表t_user_1和t_user_2,表结构完全一样



3.新建工程sharding-jdbc,结构

mapper接口

public interface TUserMapper {

	int insert(TUser user);
}

mapper接口对应的xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xqc.dao.TUserMapper" >

    <insert id="insert" parameterType="TUser" >
        INSERT INTO
        t_user
        (user_name,age,remark)
        VALUES
        (#{userName}, #{age}, #{remark})
    </insert>

</mapper>

service接口

public interface TUserService {
	boolean  insert(TUser user);
}

service接口实现类

@Service
public class TUserServiceImpl implements TUserService{

	@Autowired
	private TUserMapper tUserMapper;
	
	@Override
	public boolean insert(TUser user) 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值