多数据源配置config

package com.xxx.purchase.api.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.baomidou.mybatisplus.autoconfigure.SpringBootVFS;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.MybatisXMLLanguageDriver;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import javax.sql.DataSource;

@Configuration
@MapperScan(basePackages = {"com.xxx.xxx.xxx.xxx.dao"}, sqlSessionFactoryRef = "xxxSqlSessionFactory")
public class XxxDataSourceConfig {

  @Bean
  @ConfigurationProperties(prefix = "spring.datasource.xxx")
  public DruidDataSource xxxDateSource() {
    return new DruidDataSource();
  }

  @Value("${mybatis.mapper-locations:classpath*:/mapper/xxx/*Mapper.xml}")
  private String mapperLocations;

  @Autowired
  private PaginationInterceptor paginationInterceptor;

  @Bean
  public SqlSessionFactory xxxSqlSessionFactory(@Qualifier("xxxDateSource") DataSource dataSource
          /*@Qualifier("dwGlobalConfiguration") GlobalConfiguration defaultGlobalConfiguration*/) throws Exception {
    MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
    sqlSessionFactory.setDataSource(dataSource);// 指定数据源(这个必须有,否则报错)
    sqlSessionFactory.setVfs(SpringBootVFS.class);
    MybatisConfiguration configuration = new MybatisConfiguration();
    configuration.setDefaultScriptingLanguage(MybatisXMLLanguageDriver.class);
    configuration.setJdbcTypeForNull(JdbcType.NULL);
    sqlSessionFactory.setPlugins(paginationInterceptor);

    configuration.setMapUnderscoreToCamelCase(true);
    configuration.setCacheEnabled(false);
    sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
    sqlSessionFactory.setConfiguration(configuration);
    //sqlSessionFactory.setGlobalConfig(defaultGlobalConfiguration);
    return sqlSessionFactory.getObject();
  }

  /*@Bean
  public GlobalConfiguration ysGlobalConfiguration() {
    GlobalConfiguration conf = new GlobalConfiguration(new LogicSqlInjector());
    conf.setFieldStrategy(2);
    conf.setCapitalMode(true);
    conf.setIdType(0);
    conf.setDbColumnUnderline(true);
    conf.setRefresh(true);
    return conf;
  }*/

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值