日期:2014-05-16  浏览次数:20432 次

spring连接数据库的各种方法

spring连接数据库的各种方法 spring数据源配置
2010年05月31日 星期一 下午 4:17
不管通过何种持久化技术,都必须通过数据连接访问数据库,在Spring中,数据连接是通过数据源获得的。在以往的应用中,数据源一般是Web应用服务器提供的。在Spring中,你不但可以通过JNDI获取应用服务器的数据源,也可以直接在Spring容器中配置数据源,此外,你还可以通过代码的方式创建一个数据源,以便进行无依赖的单元测试?
配置一个数据源?
??? Spring
在第三方依赖包中包含了两个数据源的实现类包,其一是ApacheDBCP,其二是?C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。

DBCP数据源?
??? DBCP
类包位于?/lib/jakarta-commons/commons-dbcp.jarDBCP是一个依赖?Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括/lib/jakarta- commons/commons-pool.jar。下面是使用DBCP配置MySql数据源的配置片断:

xml?代码
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"????????
??????? destroy-method="close">????????
??? <property name="driverClassName" value="com.mysql.jdbc.Driver" />???????
??? <property name="url" value="jdbc:mysql://localhost:3309/sampledb" />???????
??? <property name="username" value="root" />???????
??? <property name="password" value="1234" />???????
</bean>???
BasicDataSource
提供了close()方法关闭数据源,所以必须设定destroy-method=”close”属性, 以便Spring容器关闭时,数据源能够正常关闭。除以上必须的数据源属性外,还有一些常用的属性:?
??? defaultAutoCommit
:设置从数据源中返回的连接是否采用自动提交机制,默认值为?true?
??? defaultReadOnly
:设置数据源是否仅能执行只读操作, 默认值为?false?
??? maxActive
:最大连接数据库连接数,设置为0时,表示没有限制;?
??? maxIdle
:最大等待连接中的数量,设置为0时,表示没有限制;?
??? maxWait
:最大等待秒数,单位为毫秒, 超过时间会报出错误信息;