数据库常用需求:
1、单数据源多类型数据库切换(可以支持mysql oracle dm等数据库的切换,不同的类型数据库扫描不同路径下的xml)
通过mybatisplus拦截器实现
sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(sql));
2、单数据源多数据库支持(在表名前面加上数据库schemal,查询的时候动态切换)
通过mybatisplus拦截器实现
DynamicTableInterceptor extends DynamicTableNameInnerInterceptor
@Override
protected String changeTable(String sql) {
sql = sql.replaceAll("%schema%", schemaPrefix + GlobalVariable.myTableNameLocal.get());
return sql;
}
3、多数据源支持(在数据库配置多个数据源,支持按照配置查询不同的数据源)
通过dynamic-datasource依赖实现
dynamic:
primary: master # 设置主数据源
datasource:
master:
url: jdbc:postgresql://127.0.0.1:5432/dbname
username: postgres
password: 123456
driver-class-name: org.postgresql.Driver
slave:
url: jdbc:mysql://127.0.0.1:3306/dbname
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
4、创建人创建时间添加
通过mybatis拦截器实现
@Slf4j
@Component
@Intercepts({ @Signature(type = Executor.class, method = "update", args = { MappedStatement.class, Object.class }) })
public class MybatisInterceptor implements Interceptor {
通过mybatisplus实现
@Slf4j
@Component
public class AutoFillMetaObjectHandler implements MetaObjectHandler {
8073

被折叠的 条评论
为什么被折叠?



