MybatisPlus多数据源
2023-12-16 13:29:27
主要介绍MybatisPlus多数据源的简单应用,更多可参考MyBatisPlus多数据源
1 引入依赖
<!--多数据源-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.6.1</version>
</dependency>
2 配置多数据源
spring:
# 配置数据源信息
datasource:
dynamic:
# 设置默认的数据源或者数据源组,默认值即为master
primary: master
# 严格匹配数据源,默认false.true未匹配到指定数据源时抛异常,false使用默认数据源
strict: false
datasource:
# 数据源一,主数据源
master:
url: jdbc:mysql://localhost:3306/db_mybatis_plus?characterEncoding=utf-8&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
# 数据源二
product:
url: jdbc:mysql://localhost:3306/db_mybatis_plus_dynamic_datasource?characterEncoding=utf-8&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
3 使用 @DS 注解切换数据源
@DS 可以注解在方法上或类上,同时存在就近原则 方法上注解 优先于 类上注解。
如果没有@DS注解,则使用默认数据源,当存在@DS注解时,则使用其value属性指定的数据源。
@DS("product")
@Service
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
}
@DS("master")
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
4 测试多数据源
@SpringBootTest
@Slf4j
public class DynamicDataSourceTest {
@Autowired
private UserService userService;
@Autowired
private ProductService productService;
@Test
public void testDynamicDataSourceQuery(){
List<User> userList = userService.list();
userList.forEach(System.out::println);
List<Product> productList = productService.list();
productList.forEach(System.out::println);
}
}
文章来源:https://blog.csdn.net/SUNBOYmxbsH/article/details/135031053
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!