下载资源后端资源详情
supplier-platform.zip
大小:20.11KB
价格:20积分
下载量:0
评分:
5.0
上传者:weixin_46146718
更新日期:2025-09-22

Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换

资源文件列表(大概)

文件名
大小
.gitignore
395B
pom.xml
3.79KB
src/
-
src/main/
-
src/main/java/
-
src/main/java/com/
-
src/main/java/com/supplier/
-
src/main/java/com/supplier/supplierplatform/
-
src/main/java/com/supplier/supplierplatform/annotation/
-
src/main/java/com/supplier/supplierplatform/annotation/DataSource.java
401B
src/main/java/com/supplier/supplierplatform/aspect/
-
src/main/java/com/supplier/supplierplatform/aspect/DataSourceAspect.java
1.39KB
src/main/java/com/supplier/supplierplatform/config/
-
src/main/java/com/supplier/supplierplatform/config/DatabaseType.java
164B
src/main/java/com/supplier/supplierplatform/config/DataSourceConfig.java
1.91KB
src/main/java/com/supplier/supplierplatform/config/DynamicDataSourceConfig.java
2.41KB
src/main/java/com/supplier/supplierplatform/config/DynamicRoutingDataSource.java
470B
src/main/java/com/supplier/supplierplatform/config/RedisConfig.java
809B
src/main/java/com/supplier/supplierplatform/controller/
-
src/main/java/com/supplier/supplierplatform/controller/UserController.java
1.15KB
src/main/java/com/supplier/supplierplatform/entity/
-
src/main/java/com/supplier/supplierplatform/entity/User.java
678B
src/main/java/com/supplier/supplierplatform/holder/
-
src/main/java/com/supplier/supplierplatform/holder/DatabaseContextHolder.java
610B
src/main/java/com/supplier/supplierplatform/mapper/
-
src/main/java/com/supplier/supplierplatform/mapper/UserMapper.java
402B
src/main/java/com/supplier/supplierplatform/service/
-
src/main/java/com/supplier/supplierplatform/service/impl/
-
src/main/java/com/supplier/supplierplatform/service/impl/UserServiceImpl.java
589B
src/main/java/com/supplier/supplierplatform/service/UserService.java
346B
src/main/java/com/supplier/supplierplatform/SupplierPlatformApplication.java
354B
src/main/java/com/supplier/supplierplatform/utils/
-
src/main/java/com/supplier/supplierplatform/utils/JSONData.java
2.3KB
src/main/java/com/supplier/supplierplatform/utils/RedisService.java
3.9KB
src/main/resources/
-
src/main/resources/application.yml
2.11KB
src/main/resources/mapper/
-
src/main/resources/mapper/UserMapper.xml
553B
src/test/
-
src/test/java/
-
src/test/java/com/
-
src/test/java/com/supplier/
-
src/test/java/com/supplier/supplierplatform/
-
src/test/java/com/supplier/supplierplatform/SupplierPlatformApplicationTests.java
567B
supplier-platform.iml
12.4KB

资源内容介绍

Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换
package com.supplier.supplierplatform.utils;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Service;import javax.annotation.Resource;import java.util.concurrent.TimeUnit;/** * @Author:licy * @Description TODO() * @Date:2024-07-25 14:23 */@Servicepublic class RedisService { @Resource private RedisTemplate<String, String> redisTemplate; // 设置键值对(永久) public void setValue(String key, String value) { redisTemplate.opsForValue().set(key, value); } // 设置键值对,并指定过期时间 public void setValueWithExpire(String key, String value, long timeout, TimeUnit unit) { redisTemplate.opsForValue().set(key, value, timeout, unit); } // 获取键对应的值 public String getValue(String key) { return redisTemplate.opsForValue().get(key); } // 删除指定的键 public Boolean deleteKey(String key) { return redisTemplate.delete(key); } // 检查键是否存在 public Boolean keyExists(String key) { return redisTemplate.hasKey(key); } // 设置键的过期时间 public Boolean expireKey(String key, long timeout, TimeUnit unit) { return redisTemplate.expire(key, timeout, unit); } // 获取键的剩余过期时间(单位:秒) public Long getKeyExpire(String key) { return redisTemplate.getExpire(key, TimeUnit.SECONDS); } // 自增操作 public Long increment(String key, long delta) { return redisTemplate.opsForValue().increment(key, delta); } // 自减操作 public Long decrement(String key, long delta) { return redisTemplate.opsForValue().increment(key, -delta); } // 如果键不存在则设置值,返回是否设置成功 public Boolean setValueIfAbsent(String key, String value) { return redisTemplate.opsForValue().setIfAbsent(key, value); } // 获取指定范围内的字符串 public String getRange(String key, long start, long end) { return redisTemplate.opsForValue().get(key, start, end); } // 追加字符串到键上的已有值的末尾 public Integer append(String key, String value) { return redisTemplate.opsForValue().append(key, value); } // 获取并设置指定键的值 public String getAndSet(String key, String value) { return redisTemplate.opsForValue().getAndSet(key, value); } // 在列表头部插入值 public Long leftPush(String key, String value) { return redisTemplate.opsForList().leftPush(key, value); } // 在列表尾部插入值 public Long rightPush(String key, String value) { return redisTemplate.opsForList().rightPush(key, value); } // 获取列表范围内的值 public java.util.List<String> getList(String key, long start, long end) { return redisTemplate.opsForList().range(key, start, end); } // 在集合中添加成员 public Long addToSet(String key, String... values) { return redisTemplate.opsForSet().add(key, values); } // 获取集合中的所有成员 public java.util.Set<String> getSet(String key) { return redisTemplate.opsForSet().members(key); } // 在有序集合中添加成员 public Boolean addToZSet(String key, String value, double score) { return redisTemplate.opsForZSet().add(key, value, score); } // 获取有序集合中指定范围内的成员 public java.util.Set<String> getRangeByScore(String key, double min, double max) { return redisTemplate.opsForZSet().rangeByScore(key, min, max); } // 删除有序集合中的成员 public Long removeFromZSet(String key, String... values) { return redisTemplate.opsForZSet().remove(key, values); }}

用户评论 (0)

发表评论

captcha