zoukankan      html  css  js  c++  java
  • 多数据源配置

    package com.wzxl.assess.base.dataSource;

    import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
    import org.apache.ibatis.session.SqlSessionFactory;
    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;


    /**
    * Author: ljf
    * Date: 2019-12-23 11:58
    **/
    @Configuration
    @MapperScan(basePackages = "com.wzxl.assess.modules.*.mapper",sqlSessionFactoryRef = "dataSource1SqlSessionFactory")
    public class DataSource1Config {


    // 表示这个数据源是默认数据源
    @Primary
    @Bean(name = "dataSource1")
    @ConfigurationProperties(prefix = "spring.datasource.datasource1")
    public DataSource getDateSource1() {
    return DataSourceBuilder.create().build();
    }


    @Bean(name = "dataSource1SqlSessionFactory")
    // @Qualifier表示查找Spring容器中名字为test1DataSource的对象
    public SqlSessionFactory dataSource1SqlSessionFactory(@Qualifier("dataSource1") DataSource datasource)
    throws Exception {
    MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
    bean.setDataSource(datasource);
    bean.setMapperLocations(
    // 设置mybatis的xml所在位置
    new PathMatchingResourcePatternResolver().getResources("classpath*:mapper/*/*.xml"));
    return bean.getObject();
    }

    @Bean(name = "dataSource1TransactionManager")
    public DataSourceTransactionManager dataSourceTransactionManager(@Qualifier("dataSource1") DataSource datasource){
    return new DataSourceTransactionManager(datasource);
    }

    // @Bean("dataSource1SqlSessionTemplate")
    // // 表示这个数据源是默认数据源
    // @Primary
    // public SqlSessionTemplate dataSource1SqlSessionTemplate(
    // @Qualifier("dataSource1SqlSessionFactory") SqlSessionFactory sessionFactory)
    // {
    // return new SqlSessionTemplate(sessionFactory, ExecutorType.BATCH);
    // }


    }



    package com.wzxl.assess.base.dataSource;

    import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
    import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
    import org.apache.ibatis.plugin.Interceptor;
    import org.apache.ibatis.session.ExecutorType;
    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.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.core.io.support.PathMatchingResourcePatternResolver;
    import org.springframework.jdbc.datasource.DataSourceTransactionManager;

    import javax.sql.DataSource;

    /**
    * @author yanxu
    * @version V1.0
    * @Description: TODO
    * @package com.wzxl.bigdata.base.dataSource
    * @date 16/10/2020
    * @classname OpinionDataSource
    */
    @Configuration
    @MapperScan(basePackages = "com.wzxl.assess.modules.opinion.shyq.mapper",sqlSessionFactoryRef = "publicOpinionDataSourceSqlSessionFactory")
    public class OpinionDataSource {

    // 读取application.properties中的配置参数映射成为一个对象
    // prefix表示参数的前缀
    @Bean(name = "publicOpinionDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.opinion")
    public DataSource getQuartzDataSource() {
    return DataSourceBuilder.create().build();
    }


    @Bean
    public SqlSessionFactory publicOpinionDataSourceSqlSessionFactory(@Qualifier("publicOpinionDataSource") DataSource datasource)
    throws Exception {
    MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
    bean.setDataSource(datasource);
    bean.setPlugins(new Interceptor[]{paginationInterceptor()});
    bean.setMapperLocations(
    // 设置mybatis的xml所在位置
    new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*/*.xml"));
    return bean.getObject();
    }

    @Bean(name = "publicOpinionDataSourceTransactionManager")
    public DataSourceTransactionManager dataSourceTransactionManager(@Qualifier("publicOpinionDataSource") DataSource datasource){
    return new DataSourceTransactionManager(datasource);
    }

    @Bean("publicOpinionDataSourceSqlSessionTemplate")
    public SqlSessionTemplate publicOpinionDataSourceSqlSessionTemplate(
    @Qualifier("publicOpinionDataSourceSqlSessionFactory") SqlSessionFactory sessionFactory)
    {
    return new SqlSessionTemplate(sessionFactory, ExecutorType.BATCH);
    }

    // 分页拦截器
    @Bean
    public PaginationInterceptor paginationInterceptor(){
    return new PaginationInterceptor();
    }

    }
  • 相关阅读:
    reids 数据库学习
    java 8 学习二(Lambda表达式)
    java 8 学习一(概述)
    update Select 从查询的结果中更新表
    从一段文字中提取出uri信息
    Hadoop3.0磁盘均衡器
    MapReduce 程序mysql JDBC驱动类找不到原因及学习hadoop写入数据到Mysql数据库的方法
    yarn计算一个节点容量及其配置项
    YARN的capacity调度器主要配置分析
    1084 Broken Keyboard (20 分)字符串
  • 原文地址:https://www.cnblogs.com/spx88/p/14582381.html
Copyright © 2011-2022 走看看