有时候我们想自己实现IBatis的缓存机制,在DAO添加缓存的方法给开发人员使用,可以通过以下的代码获取对应的Key值:
?
SqlMapClientImpl sci = (SqlMapClientImpl)this.sqlMapClient;MappedStatement ms = sci.getMappedStatement(sqlId); SessionScope sessionScope = new SessionScope(); sessionScope.incrementRequestStackDepth(); StatementScope statementScope = new StatementScope(sessionScope); ms.initRequest(statementScope); CacheKey key = ms.getCacheKey(statementScope, params);?