網站首頁 編程語言 正文
一、單數據源
一個數據源時直接在 application.yaml 文件中增加如下配置即可實現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執行sql
System.out.println(s);
}
@Override
public void trace(String s) {
// System.out.println("mybatis trace");
// 放開注釋,打印 mybatis執行sql的返回結果
// System.out.println(s);
}
@Override
public void warn(String s) {
System.out.println("mybatis warn");
System.out.println(s);
}
}
二、mybatis配置多個數據源
只需要在多數據源中的一個配置類中增加如下配置即可
// 多數據源配置類中增加 Configuration
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration globalConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
// 在其中一個數據源中增加如下代碼即可,不需要在所有數據源配置中都增加
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
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-03-30 Android實現定時任務功能_Android
- 2022-11-12 C語言用遞歸函數對素數進行判斷流程_C 語言
- 2023-10-13 is using incorrect casing. Use PascalCase for Reac
- 2022-06-19 C#文件非占用讀取與幫助類FileHelper_C#教程
- 2022-07-06 關于Pandas?count()與values_count()的用法及區別_python
- 2022-08-30 C語言例題講解指針與數組_C 語言
- 2022-12-04 Jetpack之CameraX的使用_Android
- 2022-05-20 Maven的配置及使用
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支