java配置数据池、SessionFactory、事务

一、数据池
1.cp30

 @Bean
    public DataSource createDataSource() {
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        try{
            dataSource.setDriverClass(jdbcDriver);
            dataSource.setJdbcUrl(jdbcUrl);
            dataSource.setUser(jdbcUser);
            dataSource.setPassword(jdbcPassword);
            dataSource.setAutoCommitOnClose(false);
            ....
        }catch (Exception e){
            e.printStackTrace();
        }
        return dataSource;
       }

2.druid

@Bean
    public DataSource createDataSource() {
    
       DruidDataSource druidDataSource = new DruidDataSource();
       druidDataSource.setDriverClassName(jdbcDriver);
       druidDataSource.setUrl(jdbcUrl);
       druidDataSource.setUsername(jdbcUser);
       druidDataSource.setPassword(jdbcPassword);
       druidDataSource.setMaxActive(20);
       druidDataSource.setInitialSize(1);
       druidDataSource.setMaxWait(60000);
       druidDataSource.setMinIdle(1);
       return druidDataSource;
       
    }

二、SessionFactory

    @Bean
    public SqlSessionFactoryBean createSqlSessionFactory() throws IOException {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        String packageXMLConfigPath = PathMatchingResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + mapperXMLConfigPath;

        // 设置MyBatis 配置文件的路径
        sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(myBatisConfigPath));
        // 设置mapper 对应的XML 文件的路径
        sqlSessionFactoryBean.setMapperLocations(resolver.getResources(packageXMLConfigPath));
        // 设置数据源
        sqlSessionFactoryBean.setDataSource(createDataSource());
        // 设置mapper 接口所在的包
        sqlSessionFactoryBean.setTypeAliasesPackage(mapperPackagePath);

        return sqlSessionFactoryBean;
    }

三、事务

 @Bean
    public DataSourceTransactionManager transactionManager() {
        return new DataSourceTransactionManager(createDataSource());
    }

@Configuration
@EnableTransactionManagement  //开启事务  <tx:annotation-driven/>
public class TransactionManagementConfiguration implements TransactionManagementConfigurer {

    @Autowired
    private DataSource dataSource;
    @Override
    public PlatformTransactionManager annotationDrivenTransactionManager() {

        return new DataSourceTransactionManager(dataSource);
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值