1、Spring 配置 c3p0 连接池
(1)导入jar包(Maven项目)
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.2.1</version>
</dependency>
我们引入 c3p0 的依赖后会自动引入 mchange-commons-java 的 jar 包
(2)创建Spring配置文件,配置连接池
原始的代码实现
// c3p0 连接池代码实现
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql:///lianxi");
dataSource.setUser("root");
dataSource.setPassword("root");
把代码在配置文件中进行配置
<!-- 配置c3p0连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 注入属性值 -->
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql:///lianxi"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
2、dao使用 jdbcTemplate
(1)创建service和dao,配置service和dao对象,在service注入dao对象(类中设置属性的set方法 + 配置文件)
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
(2)创建 jdbcTemplate 对象,把模板对象注入到 dao 里面(类中设置属性的set方法 + 配置文件)
// 得到jdbcTemplate对象
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
(3)在 jdbcTemplate 对象里面注入dataSource(配置文件完成)
配置文件如下:
<!-- 配置c3p0连接池 -->
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 注入属性值 -->
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql:///lianxi"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
<!-- 创建service和dao对象,在service注入dao对象 -->
<bean id="userService" class="com.bjxb.c3p0.UserService">
<!-- 注入dao对象 -->
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userDao" class="com.bjxb.c3p0.UserDao">
<!-- 注入jdbcTemplate -->
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<!-- 创建jdbcTemplate对象 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 把dataSource传递到模板对象中去 -->
<property name="dataSource" ref="dataSource"></property>
</bean>