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;
}*/
}
多数据源配置config
于 2020-10-16 14:59:30 首次发布