首先
jdbc.properties,用于保存连接数据库的信息,利于我们在配置文件中的使用
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/test
uname=root
password=root
需要在applicationContext.xml(Spring的配置文件)中配置
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:jdbc.properties"></property>
</bean>
或
<context:property-placeholder location="classpath:jdbc.properties"/>
spring框架内置的连接池(需要有spring的jar包)
在applicationContext.xml(Spring的配置文件)的配置:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
jdbc连接池配置
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=UTF8" />
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
DriverManagerDataSource没有实现连接池化连接的机制,每次调用getConnection()获取新连接时,只是简单地创建一个新的连接。所以,一般这种方式常用于开发时测试,不用于生产。
c3p0连接池配置(需要引入对应的jar包,这里我使用的是c3p0-0.9.1.2.jar)
在applicationContext.xml(Spring的配置文件)的配置:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClassName" value="${driverClassName}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${uname}"></property>
<property name="password" value="${password}"></property>
</bean>
Apache的dbcp连接池配置(需要引入jar包)
commons-collections-3.1.jar
commons-dbcp-1.4.jar
commons-pool.jar
在applicationContext.xml(Spring的配置文件)的配置:
<!-- 第一步 读取配置文件 -->
<bean
class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>
<!-- 第二步 通过表达式将配置文件引入 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driverClassName}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${uname}"></property>
<property name="password" value="${password}"></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="baseDao" class="com.dao.BaseDao">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<!-- 给service添加注解 -->
<context:component-scan base-package="com.service"></context:component-scan>
<aop:config proxy-target-class="true"></aop:config>
</beans>
阿里巴巴框架 的druid连接池
这个也需要引入jar包!!!
这里我使用的是:
druid-0.1.18.jar
在applicationContext.xml(Spring的配置文件)的配置:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${driverClassName}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${uname}"></property>
<property name="password" value="${password}"></property>
</bean>