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();
    }

    }
  • 相关阅读:
    Java如何编写自动售票机程序
    install windows service
    redis SERVER INSTALL WINDOWS SERVICE
    上传文件
    This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
    解决Uploadify上传控件加载导致的GET 404 Not Found问题
    OracleServiceORCL服务不见了怎么办
    Access to the temp directory is denied. Identity 'NT AUTHORITYNETWORK SERVICE' under which XmlSerializer is running does not have sufficient permiss
    MSSQL Server 2008 数据库安装失败
    数据库数据导出成XML文件
  • 原文地址:https://www.cnblogs.com/spx88/p/14582381.html
Copyright © 2011-2022 走看看