可以看到JdbcDaoSupport类中,有setDataSource方法。
该方法在设置DataSource属性时调用,自动创建jdbcTemplate类,并设置连接池。
结论:
所以dao继承JdbcDaoSupport类后,只需要在applicationContext.xml文件中,使用IOC注入连接池,dao就会自动初始化JdbcTemplate类。
- 配置applicationContext.xml(已省去其他配置)
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql:///spring_day03?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
<bean id="accountDao" class="com.itheima.dao.impl.AccountDaoImpl">
<property name="dataSource" ref="dataSource"></property>
</bean>
- dao类的编写示范
public class AccountDaoImpl extends JdbcDaoSupport implements AccountDao {
@Override
public void out(Integer out, Double money) {
this.getJdbcTemplate().update("update t_account set money= money-? where id= ?", money,out);
}
}
dao类直接使用 this.getJdbcTemplate()获取父类成员对象。
网友评论