第一,beans标签须要引入的spring头部信息html
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-instance.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
第二,准备properties数据源配置文件spring
#等号=前面的值能够随意定义至关于map中的key,=后设置数据库相关信息 #数据库驱动 base.driverClassName=oracle.jdbc.driver.OracleDriver #数据库地址 base.url=jdbc:oracle:thin:@192.168.0.21:1521:orcl #用户名 base.username=jmjkk #密码 base.password=jmjkk
第三,引入properties文件数据库
<!-- 加载Properties(classpath:后设置的是该文件所在路径) --> <context:property-placeholder ignore-unresolvable="true" location="classpath:conf.properties" />
第四,将读取的properties文件中的数据配置进行指定apache
<!-- 配置数据源及对象 --> <bean id="dataSourceOracle" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${base.driverClassName}" /> <property name="url" value="${base.url}" /> <property name="username" value="${base.username}" /> <property name="password" value="${base.password}" /> <!-- 下面的属性能够不要 --> <!-- 从数据源中返回的链接是否采用自动提交机制 --> <property name="defaultAutoCommit" value="true" /> <!-- 是否仅能执行只读操做 --> <property name="defaultReadOnly" value="false" /> <property name="initialSize" value="0" /> <!-- 最大链接数据库链接数,设置为0时,表示没有限制 --> <property name="maxActive" value="10" /> <!-- 最大等待链接中的数量,设置为0时,表示没有限制 --> <property name="maxIdle" value="1" /> <!-- 最大等待秒数,单位为毫秒 --> <property name="maxWait" value="6000" /> <property name="testWhileIdle" value="true"/> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <property name="numTestsPerEvictionRun" value="1" /> <property name="validationQuery" value="select 1 from dual" /> </bean>
BasicDataSource提供了close()方法关闭数据源,因此必须设定destroy-method=”close”属性, 以便Spring容器关闭时,数据源可以正常关闭。并发
属性介绍:oracle
defaultAutoCommit:设置从数据源中返回的链接是否采用自动提交机制,默认值为 true;
defaultReadOnly:设置数据源是否仅能执行只读操做, 默认值为 false;
maxActive:最大链接数据库链接数,设置为0时,表示没有限制;
maxIdle:最大等待链接中的数量,设置为0时,表示没有限制;
maxWait:最大等待秒数,单位为毫秒, 超过期间会报出错误信息;
validationQuery:用于验证链接是否成功的查询SQL语句,SQL语句必须至少要返回一行数据, 如你能够简单地设置为:select 1 from dual;
removeAbandoned:是否自我中断,默认是 false ;
removeAbandonedTimeout:几秒后数据链接会自动断开,在removeAbandoned为true,提供该值;
logAbandoned:是否记录中断事件, 默认为 false;大数据
下面能够再添加事务配置等。ui
所需jar包,对应的数据库驱动以及dbcpjar包url
好比:ojdbc7.jar和commons-dbcp-1.4.jarspa
第一,beans标签引入须要的spring头部信息;
第二,准备properties数据源配置文件;
第三,引入properties文件;
<!-- 加载Properties --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:conf.properties" /> </bean>
第四,数据源链接池配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="filters" value="stat" /> <!-- 链接池的最大数据库链接数。设为0表示无限制。通常把maxActive设置成可能的并发量就好了 --> <property name="maxActive" value="100" /> <!-- 链接池初始大小 --> <property name="initialSize" value="10" /> <!-- 最大等待毫秒数, 单位为 ms, 若是超过此时间将接到异常,设为-1表示无限制 --> <property name="maxWait" value="60000" /> <!-- 最大等待(空闲)链接中的数量,设 0 为没有限制 --> <property name="maxIdle" value="100" /> <!-- 最小等待(空闲)链接中的数量 --> <property name="minIdle" value="30" /> <!-- 在空闲链接回收器线程运行期间休眠的时间值,以毫秒为单位. 若是设置为非正数,则不运行空闲链接回收器线程 --> <property name="timeBetweenEvictionRunsMillis" value="3000" /> <!-- 链接池中保持空闲而不被空闲链接回收器线程 ,回收的最小时间值,单位毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <!-- SQL查询,用来验证从链接池取出的链接,在将链接返回给调用者以前.若是指定, 则查询必须是一个SQL SELECT而且必须返回至少一行记录 --> <property name="validationQuery" value="SELECT 'x'" /> <!-- 指明链接是否被空闲链接回收器(若是有)进行检验.若是检测失败, 则链接将被从池中去除。注意: 设置为true后若是要生效,validationQuery参数必须设置为非空字符串 --> <property name="testWhileIdle" value="true" /> <!-- 指明是否在从池中取出链接前进行检验,若是检验失败 则从池中去除链接并尝试取出另外一个. 注意: 设置为true后若是要生效,validationQuery参数必须设置为非空字符串 --> <property name="testOnBorrow" value="false" /> <!-- 指明是否在归还到池中前进行检验 --> <property name="testOnReturn" value="false" /> <!-- 开启池的prepared statement 池功能 --> <property name="poolPreparedStatements" value="true" /> <!-- --> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> </bean>
所需jar包,对应的数据库驱动以及dbcpjar包
好比:org.springframework.beans-3.0.5.RELEASE.jar和classes12.jar