首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

ibatis怎么像hibernate监听事件

2012-11-05 
ibatis怎样像hibernate监听事件大家知道hibernate可以通过listener和Interceptor来监听处理的过程和事件,

ibatis怎样像hibernate监听事件
大家知道hibernate可以通过listener和Interceptor来监听处理的过程和事件,如auditable例子。
那么ibatis有没有这样的机制呢?package com.longtop.core.ibatis;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMapping;import com.ibatis.sqlmap.engine.mapping.statement.ExecuteListener;import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement;public class AuditListener implements ExecuteListener {private static final Log logger = LogFactory.getLog(AuditListener.class);public void onExecuteStatement(MappedStatement mappedStatement) {ParameterMapping[] mappings=mappedStatement.getParameterMap().getParameterMappings();logger.debug(mappedStatement.getId());logger.debug(mappedStatement.getSql().getSql(null, null));for (int i = 0; i < mappings.length; i++) {logger.debug(mappings[i].getPropertyName()+"-----"+mappedStatement.getParameterMap().getParameterObjectValues(null, null)[i]);}}}
这个接口怎么得不到执行时的状态、参数值啊@Overridepublic void executeQuery(RequestScope request, Connection conn, String sql,Object[] parameters, int skipResults, int maxResults,RowHandlerCallback callback) throws SQLException {if (executeListeners != null) {for (Iterator iter = executeListeners.iterator(); iter.hasNext();) {ExecuteListener element = (ExecuteListener) iter.next();request.getStatement().addExecuteListener(element);}}super.executeQuery(request, conn, sql, parameters, skipResults,maxResults, callback);}

热点排行