目录
一.手动编写jdbcDaoSupport类实现解决重复代码
- 创建jdbcDaoSupport类,在其中编写代码
public class JdbcDaoSupport {
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setDataSource(DataSource dataSource) {
if(jdbcTemplate == null){
jdbcTemplate = createJdbcTemplate(dataSource);
}
}private JdbcTemplate createJdbcTemplate(DataSource dataSource){
return new JdbcTemplate(dataSource);
}
}
2.dao实现类继承jdbcDaoSupport,并在bean.xml中配置dao实现类时,注入dataSource配置,根据上方代码,注入dataSource时会自动创建jdbcTemplate,并赋值。
<property name="dataSource" ref="dataSource"></property>
3.dao实现类中jdbcTemplate调用
getJdbcTemplate().query()或者super.getJdbcTemplate()
二.spring中xml自动解决
1.在spring中是有自动封装了JdbcDaoSource类的,导入包
import org.springframework.jdbc.core.support.JdbcDaoSupport;
2.打开源码可以看到有setDataSource(DataSource dataSource)方法,表明我们可以通过此方法创建jdbcTemplate,我们只需要dao层继承jdbcDaoSupport,并且通过bean.xml注入dataSource即可
<property name="dataSource" ref="dataSource"></property>
三.通过注解配置
1.在Dao实现类中使用定义jdbcTemplate,通过使用Autowired注解注入即可
@Autowired
private JdbcTemplate jdbcTemplate;