使用SpringBoot+mybatis整合多数据源时的DataSourceConfig文件

SpringBoot整合多数据源dataSourceConfig文件

@Configuration
@MapperScan(basePackages = DataSourceKjunConfig.BASEPACKAGES, sqlSessionFactoryRef = DataSourceKjunConfig.SQLSESSIONFACTORY)
public class DataSourceKjunConfig {

    static final String BASEPACKAGES = "com.kjun.dao.kjun";
    static final String SQLSESSIONFACTORY = "kjunSqlSessionFactory";
    static final String DATASOURCE = "kjunDataSource";
    static final String PREFIX = "spring.datasource.kjun";
    static final String TRANSACTIONMANAGER = "kjunTransactionManager";
    static final String SQLSESSIONTEMPLATE = "kjunSqlSessionTemplate";

    /**
     * 配置数据库kjun的数据源
     * 
     * @return
     */
    @Bean(name = DataSourceKjunConfig.DATASOURCE)
    @Primary//表示以这个数据源为项目启动是的默认数据源,再多数据源项目中,必须确定主要数据源,否则启动时会由于不知道哪个是主要数据源而导致启动失败。
    @ConfigurationProperties(prefix = DataSourceKjunConfig.PREFIX)
    public DataSource kjunDataSource() {
        return DataSourceBuilder.create().build();
    }

    /**
     * 配置对应于数据源kjun的sqlSessionFactory
     * 
     * @param dataSource
     * @return
     * @throws Exception
     */
    @Bean(name = DataSourceKjunConfig.SQLSESSIONFACTORY)
    @Primary
    public SqlSessionFactory kjunSqlSessionFactory(@Qualifier(DataSourceKjunConfig.DATASOURCE) DataSource dataSource)
            throws Exception {
        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
        sessionFactoryBean.setDataSource(dataSource);
        // 若通过配置文件实现mybatis的整合,需要设置配置文件的地址
//        sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver()
//                .getResources("classpath:com/kjun/mapper/*.xml"));
        return sessionFactoryBean.getObject();
    }

    /**
     * 设置数据库kjun的事务管理器
     * 
     */
    @Bean(name = DataSourceKjunConfig.TRANSACTIONMANAGER)
    @Primary
    public DataSourceTransactionManager kjunTransactionManner(
            @Qualifier(DataSourceKjunConfig.DATASOURCE) DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }

    /**
     * 创建sqlSessionTemplate
     * 
     */
    @Bean(name = DataSourceKjunConfig.SQLSESSIONTEMPLATE)
    @Primary
    public SqlSessionTemplate kjunSqlSessionTemplate(
            @Qualifier(DataSourceKjunConfig.SQLSESSIONFACTORY) SqlSessionFactory sessionFactory) throws Exception {
        return new SqlSessionTemplate(sessionFactory);
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中整合Mybatis并配置JNDI数据的方法如下: 1. 在application.properties或application.yml文件中,配置JNDI数据的相关信息。例如,可以使用以下配置: ``` spring.datasource.jndi-name=jndi/oscardb ``` 2. 在Mybatis的配置文件中,指定Mapper文件的位置。例如,可以使用以下配置: ``` mybatis.mapper-locations=classpath:mapper/*.xml ``` 3. 在Spring Boot的启动类中,添加`@MapperScan`注解来扫描Mapper接口。例如,可以使用以下配置: ``` @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String\[\] args) { SpringApplication.run(Application.class, args); } } ``` 4. 在Spring Boot的配置类中,使用`@Bean`注解配置JNDI数据。例如,可以使用以下配置: ``` @Configuration public class DataSourceConfig { @Bean public DataSource dataSource() throws NamingException { JndiObjectFactoryBean jndiObjectFactoryBean = new JndiObjectFactoryBean(); jndiObjectFactoryBean.setJndiName("java:comp/env/jdbc/数据库名"); jndiObjectFactoryBean.afterPropertiesSet(); return (DataSource) jndiObjectFactoryBean.getObject(); } } ``` 通过以上步骤,你可以在Spring Boot中成功配置JNDI数据整合Mybatis。 #### 引用[.reference_title] - *1* [springboot + mybatis + jndi](https://blog.csdn.net/jiandong06/article/details/108659673)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SpringBoot整合MybatisPlus多数据](https://blog.csdn.net/qq_37284798/article/details/129279732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Spring整合mybatis配置JNDI数据](https://blog.csdn.net/mwx523037520036/article/details/127700054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值