写点什么

mybatisplus 推荐用法

作者:meacial
  • 2024-01-09
    北京
  • 本文字数:771 字

    阅读完需:约 3 分钟

1. 多数据源支持

a. 需要引入 dynamic-datasource-spring-boot-starter 依赖

<dependency>      <artifactId>dynamic-datasource-spring-boot-starter</artifactId>      <groupId>com.baomidou</groupId>      <scope>provided</scope></dependency>
复制代码

b. 在对应的 Mapper 添加对应的数据源注解

@DS("datasource_1")public interface TBlackUserInfoMapper extends BaseMapper<TBlackUserInfo> {}
复制代码

c. 配置文件中,配置多数据源

spring:  datasource:    dynamic:      primary: datasource_1      strict: true      datasource:        datasource_1:          driver-class-name: com.mysql.cj.jdbc.Driver          url: jdbc:mysql://127.0.0.1:3306/db1?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai          username: user1          password: user1_password          hikari:            max-lifetime: 120000        datasource_2:          driver-class-name: com.mysql.cj.jdbc.Driver          url: jdbc:mysql://127.0.0.1:3306/db2?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true          username: user2          password: user2_password          hikari:            max-lifetime: 120000
复制代码


2. 不建议使用 ServiceImpl<M extends BaseMapper<T>, T>

@Servicepublic class HotspotReportService extends ServiceImpl<THotspotReportMapper, THotspotReport> {}
复制代码

虽然这样做,可以减少很多的代码量、开发量,对于一次性交付的、不考虑以后维护的,是有益处的;

但是,这是很违背分层原则的,这样做导致 Service 实现和 Repository 柔和在一起,以后维护起来是很麻烦的;


推荐的做法是 Service 层 和 Repository 分离,在 Service 层,通过引用使用 Repository


发布于: 刚刚阅读数: 4
用户头像

meacial

关注

还未添加个人签名 2020-07-13 加入

还未添加个人简介

评论

发布
暂无评论
mybatisplus推荐用法_分层架构_meacial_InfoQ写作社区