使用Springboot+mybatis多数据源+配置slf4j出现“configuration“ 必须匹配 DOCTYPE 根 “null“问题

1.如果使用了多数据源,你又同时在配置slf4j的时候出现标题问题,请注意,在网上的其他教程里面都是会告诉你如下面操作添加

其实这个做法是不对的,因为你用的是多数据源,多数据源配置的情况下

application.yml文件里面配置的mybtis配置是没用的,配置都会移到多数据源的配置

如楼主贴图

/**
 * @author Chenjl
 * @date 2024/4/11 15:15
 */
import com.baomidou.mybatisplus.core.MybatisConfiguration;
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.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import javax.sql.DataSource;

/**
 * 数据库DM8
 */
@Configuration
@MapperScan(basePackages = {"com.base.service.baseservice.mapper.dm"}, sqlSessionFactoryRef = "sqlSessionFactoryDM")
public class DbSrcDM {
    @Bean
    public SqlSessionFactory sqlSessionFactoryDM(@Qualifier("dm-dkbs") DataSource dataSource) throws Exception {
        MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
        sqlSessionFactory.setDataSource(dataSource);
        sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
                .getResources("classpath:**/*.xml"));
        MybatisConfiguration mybatisConfiguration = new MybatisConfiguration();
        mybatisConfiguration.setLogImpl(StdOutImpl.class);
        mybatisConfiguration.setMapUnderscoreToCamelCase(Boolean.TRUE);
        sqlSessionFactory.setConfiguration(mybatisConfiguration);
        return sqlSessionFactory.getObject();
    }

    @Bean
    public SqlSessionTemplate sqlSessionTemplateDM(@Qualifier("sqlSessionFactoryDM") SqlSessionFactory sqlSessionFactory) throws Exception {
        return new SqlSessionTemplate(sqlSessionFactory);
    }
}

看到了吗?在配置 

classpath:**/*.xml

这里的时候,楼主之前是直接复制别人的代码,所以他在加载slf4j的日志的时候,会误认为在resource文件夹下所有的xml文件当做mapper.xml,被mybatis加载,因此你才会出现标题的问题,现在只要在多数据源全部地方改成楼主的情况,或者根据自身项目配置,则不会出现标题的问题

classpath*:/mapper/*Mapper.xml

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值