Spring對數據庫的鏈接配置 事務的配置

本文介绍了Spring中配置数据源的两种方法,包括XML配置和通过类实现。接着,讨论了如何利用Spring JDBC执行SQL语句。当使用如Mybatis的持久层中间件时,如何将数据源配置给SqlSessionFactory。文章还详细阐述了Spring事务的配置,包括事务管理器、事务传播属性的定义,以及如何通过注解和配置文件进行设置。动态数据源配置方面,重点提到了AbstractRoutingDataSource类的作用,并提供了线程安全的解决方案,确保数据源切换在事务开始之前。文章末尾给出了相关测试DAO和参考资料链接。
摘要由CSDN通过智能技术生成

第一點 要配置數據源  數據源包括: 數據源連接信息,數據源的類支持。

配置方式有兩種 :

 1 直接在xml中配置:

<bean id="testDataSource1" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> 
       <property name="driverClassName" value="${db.driver}" />
        <property name="url" value="${db1.jdbc.url}" /> 
       <property name="username" value="${db.login.name}"></property>
       <property name="password" value="${db.login.password}" />
       <property name="filters"  value="${db.filters}"></property>
       <property name="maxActive" value="${db.pool.maxActive}"></property>
       <property name="initialSize" value="${db.pool.initialSize}"></property>
       <property name="minIdle" value="${db.pool.minIdle}"></property>
       <property name="maxWait" value="${db.maxWait}"></property>    
       <property name="timeBetweenEvictionRunsMillis" value="${db.timeBetweenEvictionRunsMillis}"></property>
       <property name="minEvictableIdleTimeMillis" value="${db.minEvictableIdleTimeMillis}"></property>
       <property name="validationQuery" value="${db.validationQuery}"></property>
       <property name="testWhileIdle" value="${db.testWhileIdle}"></property>
       <property name="testOnBorrow" value="${db.testOnBorrow}"></property>
       <property name="testOnReturn" value="${db.testOnReturn}"></property>
       <property name="poolPreparedStatements" value="${db.poolPreparedStatements}"></property>
       <property name="maxOpenPreparedStatements" value="${db.maxOpenPreparedStatements}"></property>
       <!-- 监控数据库 -->
        <property name="proxyFilters">
            <list>
                <ref bean="log-filter" />
            </list> 
        </property>
       
   </bean>

2、在類文件中實現datasource的支持類,并設置數據源鏈接信息。

package common.jdbc.datasource;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;

import play.Play;

import com.jolbox.bonecp.BoneCPDataSource;

public class BoneCPDataSourceFactoryBean implements FactoryBean<BoneCPDataSource>, InitializingBean{
	
	private BoneCPDataSource boneCPDataSource;
	
	public final static int DEFAULT_POOL_MAX_SIZE = 30;
	
	public final static int DEFAULT_POOL_MIN_SIZE = 10;
	
	

	@Override
	public BoneCPDataSource getObject() throws Exception {
		return boneCPDataSource;
	}

	@Override
	public Class<?> getObjectType() {
		return BoneCPDataSource.class;
	}

	@Override
	public boolean isSingleton() {
		return true;
	}

	@Override
	public void afterPropertiesSet() throws Exception {
		boneCPDataSource = new BoneCPDataSource();
		boneCPDataSource.setJdbcUrl(Play.configuration.getProperty("db.url"));
		boneCPDataSource.setUsername(Play.configuration.getProperty("db.user"));
		boneCPDataSource.setPassword(Play.configuration.getProperty("db.pa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伞_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值