自主配置數(shù)據(jù)源,mybatis/plus不打印sql日志問(wèn)題
問(wèn)題:配置雙數(shù)據(jù)源后不打印sql日志了
看了其他博客,這些配置我都有加
mybatis-plus: type-aliases-package: com.lyzw.cloud.common.entity # 所有Entity別名類所在包 mapper-locations: classpath:mapper/**/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl call-setters-on-nulls: true cache-enabled: false
我的問(wèn)題在配置雙數(shù)據(jù)源后,走默認(rèn)的mybatis創(chuàng)建工廠,沒(méi)有各自配置
解決
對(duì)比下之前的和之后的
注意注入的
private MybatisPlusInterceptor mybatisPlusInterceptor;
- 主數(shù)據(jù)源配置前
import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; 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 org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; @Configuration @MapperScan(basePackages = {"com.lyzw.cloud.platform.mapper"}, sqlSessionFactoryRef = "sqlSessionFactory") public class PrimaryDataSourceConfig { @Bean(name = "dataSource") @ConfigurationProperties(prefix = "spring.datasource.druid.db1") @Primary public DataSource dataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "sqlSessionFactory") @Primary public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*/*.xml")); return bean.getObject(); } @Bean(name = "transactionManager") @Primary public DataSourceTransactionManager transactionManager(@Qualifier("dataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean(name = "sqlSessionTemplate") @Primary public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlSessionFactory") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
- 后
import com.baomidou.mybatisplus.core.MybatisConfiguration; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import org.apache.ibatis.logging.stdout.StdOutImpl; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; 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.context.annotation.Scope; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.annotation.Resource; import javax.sql.DataSource; /** * 主數(shù)據(jù)源配置 * * @author 陳琛 * @date 2022/05/09 */ @Configuration @MapperScan(basePackages = {"com.lyzw.cloud.platform.mapper"}, sqlSessionFactoryRef = "sqlSessionFactory") public class PrimaryDataSourceConfig { @Resource private MybatisPlusInterceptor mybatisPlusInterceptor; @Value("${mybatis-plus.mapper-locations}") private String locationPattern; @Value("${mybatis-plus.type-aliases-package}") private String typeAliasesPackage; @Bean @Scope(value = "prototype") @ConfigurationProperties(prefix = "mybatis-plus.configuration") public MybatisConfiguration getCfg() { return new MybatisConfiguration(); } @Bean(name = "dataSource") @ConfigurationProperties(prefix = "spring.datasource.druid.db1") @Primary public DataSource dataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "sqlSessionFactory") @Primary public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception { MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setPlugins(mybatisPlusInterceptor); bean.setConfiguration(getCfg()); bean.setTypeAliasesPackage(typeAliasesPackage); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(locationPattern)); return bean.getObject(); } @Bean(name = "transactionManager") @Primary public DataSourceTransactionManager transactionManager(@Qualifier("dataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean(name = "sqlSessionTemplate") @Primary public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlSessionFactory") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
- 次數(shù)據(jù)源配置前
package com.lyzw.cloud.platform.config.dataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; 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 org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; @Configuration @MapperScan(basePackages = {"com.lyzw.cloud.platform.websiteMapper"}, sqlSessionFactoryRef = "sqlSessionFactory2") public class SecondDataSourceConfig { @Bean(name = "dataSource2") @ConfigurationProperties(prefix = "spring.datasource.druid.db2") public DataSource dataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "sqlSessionFactory2") public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSource2") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*/*.xml")); return bean.getObject(); } @Bean(name = "transactionManager2") public DataSourceTransactionManager transactionManager(@Qualifier("dataSource2") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean(name = "sqlSessionTemplate2") public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlSessionFactory2") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
- 后
package com.lyzw.cloud.platform.config.dataSource; import com.baomidou.mybatisplus.core.MybatisConfiguration; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import org.apache.ibatis.logging.stdout.StdOutImpl; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; 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 org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.annotation.Resource; import javax.sql.DataSource; /** * 第二個(gè)數(shù)據(jù)源配置 * * @author 陳琛 * @date 2022/05/09 */ @Configuration @MapperScan(basePackages = {"com.lyzw.cloud.platform.websiteMapper"}, sqlSessionFactoryRef = "sqlSessionFactory2") public class SecondDataSourceConfig { @Resource private MybatisPlusInterceptor mybatisPlusInterceptor; @Value("${mybatis-plus.mapper-locations}") private String locationPattern; @Value("${mybatis-plus.type-aliases-package}") private String typeAliasesPackage; @Resource private MybatisConfiguration mybatisConfiguration; @Bean(name = "dataSource2") @ConfigurationProperties(prefix = "spring.datasource.druid.db2") public DataSource dataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "sqlSessionFactory2") public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSource2") DataSource dataSource) throws Exception { MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setPlugins(mybatisPlusInterceptor); bean.setConfiguration(mybatisConfiguration); bean.setTypeAliasesPackage(typeAliasesPackage); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(locationPattern)); return bean.getObject(); } @Bean(name = "transactionManager2") public DataSourceTransactionManager transactionManager(@Qualifier("dataSource2") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean(name = "sqlSessionTemplate2") public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlSessionFactory2") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- mybatis-plus開啟sql日志打印的三種方法
- mybatis-plus如何修改日志只打印SQL語(yǔ)句不打印查詢結(jié)果
- mybatis plus 開啟sql日志打印的方法小結(jié)
- Mybatis-Plus打印sql日志兩種方式
- 服務(wù)性能優(yōu)化之mybatis-plus開啟與關(guān)閉SQL日志打印方法
- MyBatis-Plus如何關(guān)閉SQL日志打印詳解
- MyBatis Plus關(guān)閉SQL日志打印的方法
- MyBatis-Plus使用sl4j日志打印SQL的代碼詳解
- Mybatis-Plus通過(guò)配置在控制臺(tái)打印執(zhí)行日志的實(shí)現(xiàn)
- 如何使用MyBatis/MyBatis?Plus實(shí)現(xiàn)SQL日志打印與執(zhí)行監(jiān)控
- 使用MybatisPlus實(shí)現(xiàn)sql日志打印優(yōu)化
相關(guān)文章
Java使用iTextPDF生成PDF文件的實(shí)現(xiàn)方法
這篇文章主要介紹了Java使用iTextPDF生成PDF文件的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02spring boot集成rabbitmq的實(shí)例教程
這篇文章主要給大家介紹了關(guān)于spring boot集成rabbitmq的相關(guān)資料,springboot集成RabbitMQ非常簡(jiǎn)單,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11Java?集合框架底層數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)深度解析(示例詳解)
Java 集合框架(Java Collections Framework, JCF)是支撐高效數(shù)據(jù)處理的核心組件,其底層數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)直接影響性能與適用場(chǎng)景,這篇文章主要介紹Java集合框架底層數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)深度解析,需要的朋友可以參考下2025-06-06JavaScript實(shí)現(xiàn)鼠標(biāo)移動(dòng)粒子跟隨效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)移動(dòng)粒子跟隨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08自己動(dòng)手編寫一個(gè)Mybatis插件之Mybatis脫敏插件
這篇文章主要介紹了自己動(dòng)手編寫一個(gè)Mybatis插件之Mybatis脫敏插件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08如何使用Java實(shí)現(xiàn)請(qǐng)求deepseek
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)請(qǐng)求deepseek功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02spring中Mapstruct屬性映射的實(shí)現(xiàn)
本文主要介紹了spring中Mapstruct屬性映射的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12