Spring实现iBatis的模板类SqlMapClientTemplate


Spring 对第三方开源ORM的支持一贯用法是使用模板模式封装一个Template类,如iBatis的SqlMapClient封装个SqlMapClientTemplate、hibernate的HibernateTemplate。
现在说说SqlMapClientTemplate的实现:
我们在创建DAO时会继承SqlMapClientDaoSupport,通过SqlMapClientDaoSupport的SqlMapClientTemplate来操作数据库,SqlMapClientTemplate是帮我们做些通用操作如Session和dataSource的初始化、释放数据库连接,关闭Session等。最主要的方法是SqlMapClientTemplate.execute,其它操作如queryForObject、update都是通过传递SqlMapClientCallback给execute,execute做好初始化操作如上所说的,再调用SqlMapClientCallback的doInSqlMapClient方法操作数据库返回结果。后再关闭数据库连接和Session。

你可能感兴趣的:(spring,ibatis)