有时候我们想自己实现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);