J2EE进阶学习——Spring框架(七):连接池配置和使用
2018-03-14 本文已影响0人
TiHom
1.使用配置来实现
c3p0的配置:
<!-- 配置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:///user"></property>
<property name="user" value="xxxx"></property>
<property name="password" value="xxxxxx"></property>
</bean>
dao层的使用:
1.然后创建service层和dao层对象
2.service层要调用dao层,所以dao层注入到service的配置中
3.dao层中要使用jdbcTemplate,所有创建jdbcTemplate对象,同时讲jdbcTemplate注入到dao层配置中
4.jdbcTemplate对象需要使用连接池技术(在jdbcTemplate源码中有使用到set),所以注入c3p0连接池配置于jdbcTemplate中
<bean id="userService" class="com.TiHom.c3p0.UserService">
<!-- 注入dao对象 -->
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userDao" class="com.TiHom.c3p0.UserDao">
<!-- 注入jdbcTemplate模板对象 -->
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 把dataSource传递到模板对象中 -->
<property name="dataSource" ref="dataSource"></property>
</bean>
service层
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void add(){
userDao.add();
}
}
dao层
public class UserDao {
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
}
public void add(){
String sql = "insert into t_user values(?,?)";
jdbcTemplate.update(sql,"老司机","520520");
}
}
test方法
public class TestService {
@Test
public void test(){
ApplicationContext context =
new ClassPathXmlApplicationContext("bean1.xml");
UserService userService = (UserService) context.getBean("userService");
userService.add();
}
}