spring 的JDBC管理基于org.springframework.jdbc.core.JdbcTemplate这个类;
public class JdbcTemplate extends JdbcAccessor implements JdbcOperations
public JdbcTemplate(){}
public JdbcTemplate(DataSource dataSource)
{
setDataSource(dataSource);
afterPropertiesSet();
}
public JdbcTemplate(DataSource dataSource, boolean lazyInit)
{
setDataSource(dataSource);
setLazyInit(lazyInit);
afterPropertiesSet();
}
spring ORM的设计和实现
spring对hibernate的封装,查看HibernateTemplate
public class HibernateTemplate extends HibernateAccessor implements HibernateOperations
public HibernateTemplate(){}
public HibernateTemplate(SessionFactory sessionFactory)
{
setSessionFactory(sessionFactory);
afterPropertiesSet();
}
public HibernateTemplate(SessionFactory sessionFactory, boolean allowCreate)
{
setSessionFactory(sessionFactory);
setAllowCreate(allowCreate);
afterPropertiesSet();
}
JdbcTemplate提供对query、update、execute的实现;DaoSupport是一个基本类,它的各种子类实现对各种ORM框架功能的封装,比如HibernateDaoSupport;
Spring通过IoC和AoP对Hibernate的配置和使用,用org.springframework.orm.hibernate4.LocalSessionFactoryBean来封装Hibernate里的SessionFactory,采用Ioc注入单例对象及配置信息;类似Session。
调用HibernateTemplate而不再调用Session对象,Spring通过org.springframework.orm.hibernate4.HibernateTransactionManagerr对Hibernate的事务进行接管;
对于Ibatis,同样有SqlMapClientTemplate和SqlMapClientFactoryBean,SqlMapClientFactoryBean完成SqlMapClient的创建,SqlMapClient类似于Session,