您的位置:首页 > 编程语言 > Java开发

Spring连接数据库的几种常用的方式

2016-12-11 14:45 435 查看
转至 Spring连接数据库的几种常用的方式

jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=root

在applicationContext.xml中配置jdbc.properties

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">

<list>

<value>classpath*:jdbc.properties</value>

</list>

</property>
</bean>

第一种:使用spring自带的DriverManagerDataSource 配置文件如下:

<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

  <property name="driverClassName" value="${jdbc.driverClassName}" />

  <property name="url" value="${jdbc.url}" />   

  <property name="username" value="${jdbc.username}" />   

  <property name="password" value="${jdbc.password}" />

</bean>

第二种

C3P0 数据源需要使c3p0的核心jar包。一般在下载hibernate的时候都会自带一个: 在hibernate-release-4.3.0.Final\lib\optional\c3p0路径下找到的。

要注意的是在bean的property的name属性和其他几种方式会有所不同

<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" >

   <property name="driverClass" value="${jdbc.driverClassName}" />

    <property name="jdbcUrl" value="${jdbc.jdbcUrl}" />

     <property name="user" value="${jdbc.user}" />

     <property name="password" value="${jdbc.password}" />

    <!-- 连接池信息 当连接池中的连接用完时,C3P0一次性创建新连接的数目 -->

     <property name="acquireIncrement" value="${c3p0.acquireIncrement}" />

   <!-- 初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值。默认为3;-->

   <property name="initialPoolSize" value="${c3p0.initialPoolSize}" />

    <!-- 最大空闲时间,超过空闲时间的连接将被丢弃。为0或负数则永不丢弃。默认为0;-->

     <property name="maxIdleTime" value="${c3p0.maxIdleTime}" />

     <!-- 连接池中保留的最小连接数。默认为15 -->

     <property name="minPoolSize" value="${c3p0.minPoolSize}" />

     <!-- 连接池中保留的最大连接数。默认为15; -->

     <property name="maxPoolSize" value="${c3p0.maxPoolSize}" />

     <!-- JDBC的标准参数,用以控制数据源内加载的PreparedStatement数量。但由于预缓存的Statement属 于单个Connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素,如果maxStatements与 maxStatementsPerConnection均为0,则缓存被关闭。默认为0; -->

     <property name="maxStatements" value="${c3p0.maxStatements}" />

  <!-- 连接池内单个连接所拥有的最大缓存Statement数。默认为0; -->

<property name="maxStatementsPerConnection" value="${c3p0.maxStatementsPerConnection}"/>

</bean>

第三种:

使用apache的dbcp插件连接数据库 需要下载的jar包:commons-dbcp.jar,commons-pool.jar,commons-collection.jar

spring的配置文件中如下:

<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

  <property name="driverClassName" value="${jdbc.driverClassName}" />

<property name="url" value="${jdbc.url}" />

<property name="username" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: