前言
在使用mybatis plus 时这个增强工具最大的贡献就是代码自动生成:(代码自动生成文章)https://blog.csdn.net/weixin_45863786/article/details/104544388(解决 not found mapper:https://blog.csdn.net/weixin_45863786/article/details/110954847),和BaseMapper增强工具,如果在某些业务情况下考虑跨数据库服务查询,怎样解决mybatis plus 多数据源问题,及使用多数据源无法使用BaseMapper增强工具解决方法,直接上代码。
一.application.properties多数据源配置
#多数据源配置
datasource.ev.driver-class-name = com.mysql.cj.jdbc.Driver
datasource.ev.url = jdbc:mysql://xx.xxx.xx.xx:6033/ev?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&useSSL=false&jdbcCompliantTruncation=false
datasource.ev.username = xx
datasource.ev.password = xx
datasource.l2.driver-class-name = com.mysql.cj.jdbc.Driver
datasource.l2.url = jdbc:mysql://xx.xxx.xx.xx:3306/iov_cpsp?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&jdbcCompliantTruncation=false
datasource.l2.username = xx
datasource.l2.password = xx
datasource.app.driver-class-name = com.mysql.cj.jdbc.Driver
datasource.app.url = jdbc:mysql://xx.xxx.xx.xx:3306/fleet?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&jdbcCompliantTruncation=false
datasource.app.username = xx
datasource.app.password = xx
二. 定义数据源枚举
package com.ly.mp.app.common.multiple.enums;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 定义数据源枚举
* @author huangan
* @date 2020/11/30 9:56
*/
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum DataSourceEnum {
EV("ev"),
L2("l2"),
APP("app");
private String value;
}
三. 定义数据源注解
package com.ly.mp.app.common.multiple.annotation;
import com.ly.mp.app.common.multiple.enums.DataSourceEnum;
import java.lang.annotation.*;
/**
*