日期:2014-05-16 浏览次数:20555 次
数据库的操作:
固定的代码(模板,datasource的获取)+动态的参数(变化的SQL语句、参数等等)
模板模式的编程
代码的结构的解析:
JdbcTemplate extends JdbcAccessor
JdbcTemplate(){
}
JdbcTemplate(DataSource dataSource){
this.dataSource = dataSource;
}
setDataSource(DataSource dataSource){
this.dataSource = dataSource;
}
public abstract class JdbcDaoSupport extends DaoSupport {
private JdbcTemplate jdbcTemplate;
public final void setDataSource(DataSource dataSource) {
if (this.jdbcTemplate == null || dataSource != this.jdbcTemplate.getDataSource()) {
this.jdbcTemplate = createJdbcTemplate(dataSource);
initTemplateConfig();
}
}
protected JdbcTemplate createJdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
public final DataSource getDataSource() {
return (this.jdbcTemplate != null ? this.jdbcTemplate.getDataSource() : null);
}
public final void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
initTemplateConfig();
}
public final JdbcTemplate getJdbcTemplate() {
return this.jdbcTemplate;
}
}
说明:
1、在JdbcDaoSupport中可以注入dataSource
2、在JdbcDaoSupport中注入的dataSource通过createJdbcTemplate方法
传入到JdbcTemplate
3、可以通过JdbcDaoSupport得到JdbcTemplate的引用
HibernateTemplate
SqlMapClientTemplate
JdoTemplate
spring结合jdbc的写法:共七种写法
1、
类的写法:
PersonDao extends JdbcDaoSupport
配置文件:
1、在PersonDao中注入DataSource
2、在PersonDao中注入JdbcTemplate
在JdbcTemplate中注入dataSource
1、可以利用构造器的形式
2、可以利用setter的方式
2、
类的写法
PersonDao{
private JdbcTemplate jdbcTemplate;
}
配置文件:
在PersonDao中注入JdbcTemplate
在JdbcTemplate中注入dataSource
1、可以利用构造器的形式
2、可以利用setter的方式
3、