@Slf4j
@Configuration
@MapperScan(basePackages = MerchantDruidConfig.PACKAGE, sqlSessionTemplateRef = "merchantSqlSessionTemplate")
public class MerchantDruidConfig {
    static final String PACKAGE = "com.xx.mapper";
    static final String MAPPER_LOCATION = "classpath*:xml/*.xml";
    @Autowired
    @Qualifier(DruidConfig.MERCHANT_DATASOURCE_BEAN_NAME)
    private DataSource merchant;
    @Bean("merchantSqlSessionFactory")
    public SqlSessionFactory getSqlSessionFactory() throws Exception {
        MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
        factoryBean.setDataSource(merchant);
        MybatisConfiguration configuration = new MybatisConfiguration();
        configuration.setDefaultScriptingLanguage(MybatisXMLLanguageDriver.class);
        configuration.setJdbcTypeForNull(JdbcType.NULL);
        factoryBean.setConfiguration(configuration);
        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MerchantDruidConfig.MAPPER_LOCATION));
        return factoryBean.getObject();
    }
    @Bean("merchantSqlSessionTemplate")
    public SqlSessionTemplate getSqlSessionTemplate() throws Exception {
        SqlSessionTemplate template = new SqlSessionTemplate(getSqlSessionFactory());
        return template;
    }
}