为什么微服务不推荐使用mybatis-plus
时间: 2023-10-19 07:09:01 浏览: 74
虽然使用Mybatis-Plus能够快速开发数据库访问层,但是在微服务架构中,使用Mybatis-Plus可能会存在以下问题:
1. 数据库访问层的复杂度增加:在微服务架构中,每个服务都需要独立的数据库访问层,而使用Mybatis-Plus会导致所有服务共享一个数据库访问层,这会增加数据库访问层的复杂度。
2. 依赖冲突问题:由于Mybatis-Plus会引入大量的依赖,可能会与其他组件产生依赖冲突问题,增加开发和调试的复杂度。
3. 数据库连接池的问题:Mybatis-Plus默认使用了Druid作为数据库连接池,但是在微服务架构中,每个服务都需要使用独立的数据库连接池,如果使用Mybatis-Plus,每个服务都需要配置自己的Druid连接池,增加了配置的复杂度。
4. 不利于拆分服务:使用Mybatis-Plus会将数据库访问层与业务逻辑层绑定在一起,不利于将业务逻辑层拆分成独立的服务。
因此,在微服务架构中,建议使用轻量级的ORM框架,比如Spring Data JPA等,以便更好地支持微服务架构的设计原则。
相关问题
springcloud整合mybatis-plus
Spring Cloud是一个基于Spring Boot的微服务框架,而MyBatis-Plus是MyBatis的增强工具,可以简化MyBatis的开发。将它们整合起来可以更方便地开发微服务应用。
具体步骤如下:
1. 引入相关依赖:在pom.xml文件中添加spring-cloud-starter-netflix-eureka-client和mybatis-plus-boot-starter依赖。
2. 配置数据源:在application.yml文件中配置数据源信息。
3. 配置MyBatis-Plus:在配置类中添加@EnableTransactionManagement和@MapperScan注解,开启事务管理和扫描Mapper接口。
4. 编写Mapper接口:编写Mapper接口并继承BaseMapper接口,可以直接使用MyBatis-Plus提供的方法。
5. 编写Service层:编写Service层,调用Mapper接口中的方法。
6. 编写Controller层:编写Controller层,调用Service层中的方法,提供RESTful接口。
整合完成后,可以更方便地进行数据库操作,提高开发效率。
mybatis-plus事务管理
根据提供的引用内容,该项目使用了SpringBoot2.x和SpringCloud微服务架构体系,并集成了分布式事务。而Mybatis-Plus是一个基于Mybatis的增强工具,它简化了Mybatis的开发流程,提供了很多便捷的功能,例如自动生成代码、分页查询、逻辑删除等。在该项目中,Mybatis-Plus可以用来简化数据库操作,提高开发效率。而事务管理是指对于一系列数据库操作,要么全部成功,要么全部失败,保证数据的一致性。在SpringBoot中,可以使用@Transactional注解来实现事务管理,同时也可以使用SpringCloud提供的分布式事务管理框架来实现分布式事务管理。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)