1、使用org.springframework.jdbc.datasource.DriverManagerDataSource
说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。
[Java] 纯文本查看 复制代码
?
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName"><value>
<propertyname="username"><value>
</bean>
2、使用org.apache.commons.dbcp.BasicDataSource
说明:这是一种推荐说明的数据源配置方式,它真正使用了连接池技术
[Java] 纯文本查看 复制代码
?
<bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value> jdbc:mysql://localhost:3306/db0</value>
</property>
<property name="username">
<value>test</value>
</property>
<property name="password">
<value>test</value>
</property>
<property name="maxActive">
<value>255</value>
</property>
<property name="maxIdle">
<value>2</value>
</property>
<property name="maxWait">
<value>120000</value>
</property>
</bean>
3、使用org.springframework.jndi.JndiObjectFactoryBean
说明:JndiObjectFactoryBean 能够通过JNDI获取DataSource
[Java] 纯文本查看 复制代码
?
<bean id="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean">
<propertyname="jndiName"><value>java:comp/env/jdbc/roseindiaDB_local</value></property>
</bean>
总结:3种方式中的第一种没有使用连接池,故少在项目中用到,第三种方式需要在web server中配置数据源,不方便于部署。
C3P0数据源
C3P0是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的 Connection 和Statement 池。C3P0类包位于<spring_home></spring_home>/lib/c3p0/c3p0-0.9.0.4.jar。下面是使用C3P0配置一个 mysql数据源:
[Java] 纯文本查看 复制代码
?
1.<bean id="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"
2. destroy-method="close">
3. <propertyname="driverClass" value=" com.mysql.jdbc.Driver"/>
4. <propertyname="jdbcUrl" value=" jdbc:mysql://localhost:3306/db0"/>
5. <propertyname="user"value="admin"/>
6. <propertyname="password"value="1234"/>
7.</bean>
druid数据源的配置方法与c3p0的类似,故不提供方法
druid现在是目前用的比较多的数据库连接池,其优点在于功能、性能、扩展性方面,都超过其他数据库连接池,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况。