iBATIS用法中的SqlMapTemplate类主要查找和String statementName相对应的MappedStatement对象,并调用MappedStatement的相应的方法,但SqlMapTemplate的查询方法,都有以下的几个操作。

创新互联公司是一家专业的成都网站建设公司,我们专注成都做网站、成都网站设计、成都外贸网站建设、网络营销、企业网站建设,卖友情链接,广告投放平台为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。
1、必须先判断XML文件中是否定义String statementName;
2、如果如果存在则生成相应的MappedStatement对象;
3、并且获得该线程所对应的Connection对象;
4、然后调用MappedStatement对象相应的操作数据库的方法;
5、释放Connection对象等。
在以上iBATIS用法其中只有第4步每个方法会有所变化,其他的方法都一样。SqlMapTemplate不用的方法第4步调用MappedStatement的不同方法,但参数都一样。
抽象类SqlMapCallback的代码如下:
- public interface SqlMapCallback {
 - Object doInMappedStatement(MappedStatement stmt, Connection con) throws SQLException;
 - }
 
实现类SqlMapTemplate的调用抽象的方法代码如下:
- public Object execute(String statementName, SqlMapCallback action) throws DataAccessException {
 - Assert.notNull(this.sqlMap, "No SqlMap specified");
 - MappedStatement stmt = this.sqlMap.getMappedStatement(statementName);
 - Connection con = DataSourceUtils.getConnection(getDataSource());
 - try {
 - return action.doInMappedStatement(stmt, con);
 - }
 - catch (SQLException ex) {
 - throw getExceptionTranslator().translate("SqlMap operation", null, ex);
 - }
 - finally {
 - DataSourceUtils.releaseConnection(con, getDataSource());
 - }
 - }
 
SqlMapTemplate方法中调用内部抽象方法,并实现内部类抽象方法的方法体代码如下。
- public Object executeQueryForObject(String statementName, final Object parameterObject)
 - throws DataAccessException {
 - return execute(statementName, new SqlMapCallback() {
 - public Object doInMappedStatement(MappedStatement stmt, Connection con) throws SQLException {
 - return stmt.executeQueryForObject(con, parameterObject);
 - }
 - });
 - }
 
iBATIS用法之SqlMapTemplate内部类的介绍就向你讲解到这里,希望对你有所帮助。
【编辑推荐】
                新闻标题:iBATIS用法之SqlMapTemplate内部类详解
                
                分享URL:http://www.csdahua.cn/qtweb/news37/93337.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网