-
spring配置c3p0连接池
- 需要c3p0jar包 mchange-commons-java
- 原始连接池做法
ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/testspring"); dataSource.setUser("root"); dataSource.setPassword("");
- 使用配置文件的做法
<!-- 配置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//localhost:3306/testspring"></property> <property name="user" value="root"></property> <property name="password" value=""></property> </bean>
-
dao层使用 jdbcTemplete
1.创建Service和Dao 配置service和dao对象,在service注入dao对象<bean id="userService" class="com.ljy.c3p0.UserService"> <!-- 注入dao对象 --> <property name="userDao" ref="userDao"></property> </bean> <property name="jdbcTemplate" ref="jdbcTemplete"></property>
2.创建jdbcTemplete对象 把jdbcTemplete对象注入到dao里面
public class UserDao { //得到JdbcTemplete对象 private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public void add() { // TODO Auto-generated method stub } }
<bean id="userDao" class="co.ljy.c3p0.UserDao"> <!-- 注入jdbcTemplete对象 --> <property name="jdbcTemplate" ref="jdbcTemplete"></property> </bean> <!-- 创建jdbcTemplete对象 --> <bean id="jdbcTemplete" class="import org.springframework.jdbc.core.JdbcTemplate">
- 在jdbcTemplete中注入DataSource对象
因为源代码中有set方法 并且有DataSource对象 所以可以在配置文件中注入对象。
<bean id="jdbcTemplete" class="import org.springframework.jdbc.core.JdbcTemplate">
<!-- 把dataSource传到模板的对象里去 -->
<property name="dataSource" ref="dataSource"></property>
</bean>