網(wǎng)站首頁 編程語言 正文
SpringBoot + Mybatis 多數(shù)據(jù)源配置打印SQL失效問題(mybatis.configuration.log-impl)
作者:WD技術(shù) 更新時(shí)間: 2024-03-18 編程語言一、單數(shù)據(jù)源
一個(gè)數(shù)據(jù)源時(shí)直接在 application.yaml 文件中增加如下配置即可實(shí)現(xiàn)sql日志的打印
mybatis:
configuration:
map-underscore-to-camel-case: true
log-impl: com.ylx.apis_plugin_supervise.config.mybatis.log.MybatisLogCustom
MybatisLogCustom 類為自定義的SQL打印配置類
import org.apache.ibatis.logging.Log;
public class MybatisLogCustom implements Log {
public MybatisLogCustom(String clazz) {
}
@Override
public boolean isDebugEnabled() {
return true;
}
@Override
public boolean isTraceEnabled() {
return true;
}
@Override
public void error(String s, Throwable e) {
System.err.println(s);
e.printStackTrace(System.err);
}
@Override
public void error(String s) {
System.out.println("mybatis error");
System.err.println(s);
}
@Override
public void debug(String s) {
// System.out.println("mybatis debug");
// 放開注釋,打印 mybatis執(zhí)行sql
System.out.println(s);
}
@Override
public void trace(String s) {
// System.out.println("mybatis trace");
// 放開注釋,打印 mybatis執(zhí)行sql的返回結(jié)果
// System.out.println(s);
}
@Override
public void warn(String s) {
System.out.println("mybatis warn");
System.out.println(s);
}
}
二、mybatis配置多個(gè)數(shù)據(jù)源
只需要在多數(shù)據(jù)源中的一個(gè)配置類中增加如下配置即可
// 多數(shù)據(jù)源配置類中增加 Configuration
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration globalConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
// 在其中一個(gè)數(shù)據(jù)源中增加如下代碼即可,不需要在所有數(shù)據(jù)源配置中都增加
sessionFactoryBean.setConfiguration(configuration);
具體參考:
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import javax.sql.DataSource;
@Configuration
@MapperScan(basePackages = "com.ylx.apis_plugin_supervise.mybatis.ubkplugin.dao",sqlSessionFactoryRef = "ubkpluginSqlSessionFactory")
public class UbkPluginDataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration globalConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
@Primary
@Bean(name = "ubkpluginDataSource")
@ConfigurationProperties("spring.datasource.ubkplugin")
public DataSource masterDataSource(){
return DataSourceBuilder.create().build();
}
@Bean(name = "ubkpluginSqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier("ubkpluginDataSource") DataSource dataSource,
org.apache.ibatis.session.Configuration configuration) throws Exception {
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
sessionFactoryBean.setDataSource(dataSource);
sessionFactoryBean.setConfiguration(configuration);
sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources("classpath:mapper/ubkplugin/*.xml"));
return sessionFactoryBean.getObject();
}
}
原文鏈接:https://blog.csdn.net/qq_44761854/article/details/136676691
- 上一篇:沒有了
- 下一篇:沒有了
相關(guān)推薦
- 2022-12-07 C語言實(shí)現(xiàn)堆的簡(jiǎn)單操作的示例代碼_C 語言
- 2022-07-11 Android星級(jí)評(píng)分條實(shí)現(xiàn)評(píng)分界面_Android
- 2022-09-11 Oracle學(xué)習(xí)筆記之視圖及索引的使用_oracle
- 2022-03-30 Docker?鏡像分層及dockerfile?編寫技巧_docker
- 2023-06-19 CentOS7使用yum安裝Golang的超詳細(xì)步驟_Golang
- 2022-07-12 CSS樣式:彈性容器上的樣式
- 2022-05-04 ?Python?中?logging?模塊使用詳情_python
- 2022-12-07 C++?二維(多維)vector添加一個(gè)空項(xiàng)問題_C 語言
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支