91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Mybatis中如何配置多數據源

小億
100
2024-03-19 09:16:44
欄目: 編程語言

在Mybatis中配置多數據源有兩種常用的方法:

  1. 使用Mybatis提供的多數據源插件 可以通過配置mybatis的攔截器來實現多數據源的切換,Mybatis提供了一個多數據源插件MultiDataSourcePlugin,可以通過以下方式進行配置:
@Bean
public MultiDataSourcePlugin multiDataSourcePlugin() {
    MultiDataSourcePlugin multiDataSourcePlugin = new MultiDataSourcePlugin();
    // 配置數據源名和對應的SqlSessionFactory
    multiDataSourcePlugin.addDataSource("dataSource1", dataSource1);
    multiDataSourcePlugin.addDataSource("dataSource2", dataSource2);
    return multiDataSourcePlugin;
}

@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
    SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
    sqlSessionFactoryBean.setDataSource(multiDataSourcePlugin().getDataSource());
    return sqlSessionFactoryBean.getObject();
}
  1. 使用Spring的@Configuration注解 使用Spring的@Configuration注解實現多數據源的配置,可以通過@Bean注解來分別配置不同的數據源和SqlSessionFactory,然后通過@Qualifier注解指定要使用的數據源,示例如下:
@Configuration
public class MybatisConfig {

    @Primary
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.dataSource1")
    public DataSource dataSource1() {
        return DataSourceBuilder.create().build();
    }

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.dataSource2")
    public DataSource dataSource2() {
        return DataSourceBuilder.create().build();
    }

    @Primary
    @Bean
    public SqlSessionFactory sqlSessionFactory1(@Qualifier("dataSource1") DataSource dataSource1) throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource1);
        return sqlSessionFactoryBean.getObject();
    }

    @Bean
    public SqlSessionFactory sqlSessionFactory2(@Qualifier("dataSource2") DataSource dataSource2) throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource2);
        return sqlSessionFactoryBean.getObject();
    }
}

以上是兩種常用的多數據源配置方法,根據具體的需求和項目情況選擇合適的方式進行配置。

0
卢湾区| 九寨沟县| 华亭县| 扶绥县| 额济纳旗| 颍上县| 新建县| 信丰县| 耒阳市| 资兴市| 微博| 正阳县| 长春市| 江达县| 霍山县| 桐梓县| 容城县| 邛崃市| 九台市| 郑州市| 安西县| 沿河| 滦平县| 南江县| 岳普湖县| 额尔古纳市| 南昌市| 华容县| 佳木斯市| 新乡市| 宁国市| 阳谷县| 井冈山市| 昌乐县| 岐山县| 桐梓县| 华安县| 和林格尔县| 开原市| 镇安县| 东明县|