首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

运作期从ibatis配置文件中获取sql 的两种方法

2012-07-28 
运行期从ibatis配置文件中获取sql 的两种方法1.通过SqlMapClientDaoSupport,SqlMapClientImpl,MappedState

运行期从ibatis配置文件中获取sql 的两种方法

1.通过SqlMapClientDaoSupport,SqlMapClientImpl,MappedStatement,Sql,RequestScope等ibatis提供的类

?

/** * 获得sql * @param db 通过它获取SqlMapClient * @param param sql里面的参数 * @param sqlName Statement的ID * @return */public String getCurrSql(DBOperation db,Map<String, String> param,String sqlName) {String sql = null;SqlMapClientImpl sqlmap = (SqlMapClientImpl) db.getSqlMapClient();MappedStatement stmt = sqlmap.getMappedStatement(sqlName);Sql stmtSql = stmt.getSql();  RequestScope requestScope = new RequestScope();requestScope.setStatement(stmt);sql = stmtSql.getSql(requestScope, param);return sql; }

?

2.通过SqlMapExecutorDelegate,MappedStatement,Sql,RequestScope等ibatis提供的类

/** * 获得sql * @param db 通过它获取SqlMapClient * @param param sql里面的参数 * @param sqlName Statement的ID * @return */public String getCurrSqlTwo(DBOperation db,Map<String, String> param,String sqlName) {SqlMapExecutorDelegate delegate=((ExtendedSqlMapClient)(db.getSqlMapClient())).getDelegate();     MappedStatement ms = delegate.getMappedStatement(sqlName);   Sql sql=ms.getSql(); RequestScope requestScope = new RequestScope();requestScope.setStatement(ms);String sqlStr = sql.getSql(requestScope,param); return sqlStr;}
?

?

热点排行