`

IBatis中如何获取sqlId和传入参数对应的缓存Key值

 
阅读更多

有时候我们想自己实现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);
 
0
0
分享到:
评论

相关推荐

    iBATIS DataMapper1.6 中文翻译

    2. 执行数据映射:通过参数名称和XML文档中定义的SQL语句或存储过程名字,iBATIS会动态生成SQL语句,设置参数,并执行它。这是iBATIS的核心功能,解耦了业务代码与SQL语句。 3. 处理结果:对于`update`操作,返回受...

    ibatis环境搭建教程

    - ****:用于定义和引用属性值,可以在配置文件中使用这些属性值来动态配置参数。 - ****:指定数据源类型及其具体配置信息,支持多种数据源实现方式,如SimpleDataSource、Jakarta DBCP等。 - ****:设置ibatis运行...

    IBatis3 入门开发

    4. **动态SQL**:iBATIS 支持动态SQL,允许在XML映射文件中使用条件语句,如`if`, `choose`, `when`, `otherwise`等,根据传入参数的不同,动态地生成和执行不同的SQL。 5. **映射器接口与Mapper XML文件**:开发者...

    ibatis技术总结

    在SQL映射文件中,可以通过`<parameterMap>`和`<resultMap>`来定义参数映射规则,确保参数能够正确传递到SQL语句中。 #### 8. iBatis事务处理 iBatis提供了两种事务管理方式:JDBC事务管理和MANAGED事务管理。默认...

    IBatis.net教程

    - 执行插入操作:使用C#的Mapper.Instance().Insert方法,并传入SQL语句ID和要插入的对象,如果插入操作影响了有主键的表,则可以获取新插入数据的主键值。 - SQL描述文档:在XML文件中,可以详细定义SQL语句的结构...

    iBatis_SqlMap的配置总结[1]

    iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句与Java代码分离,从而提高了开发效率和可维护性。SqlMap是iBatis的核心配置文件,用于定义数据库交互的各种操作。以下是关于iBatis_SqlMap配置的一些关键知识...

    ibatis参考文档

    iBATIS提供了只读缓存和读写缓存两种模式,根据应用的需求选择合适的缓存策略。 ##### 2. Serializable Read/Write Caches 在需要序列化的场景下,可以选择使用可序列化的读写缓存。 ##### 3. Cache Types ...

    MyBatis3 教程 中文完整版

    MyBatis支持两种参数映射方式:传入一个Map对象,其中key是参数名,value是参数值;使用注解@Param标记参数。 6. **结果映射** 结果映射主要用于复杂的数据结构映射,例如一对一、一对多、多对多关系的映射,以及...

    mybatis学习笔记

    MyBatis 的精髓在于 SQL 映射文件(例如:iBatis学习笔记中的映射文件),其中定义了 SQL 语句、参数和结果集映射。这些映射可以包含动态 SQL,使得 SQL 语句更加灵活,可以根据传入的参数动态生成不同的 SQL。 4....

    Mybatis入门到实践.pdf

    - **获取主钥值**:使用 `<selectKey>` 标签可以获取生成的主键值。 ##### 4.4 参数传递 - **参数传递的方式**:可以通过 `<parameter>` 标签定义参数类型和名称。 - **参数处理**:MyBatis 支持多种参数传递方式...

    Mybatis中Mapper映射文件使用详解

    其中,id是命名空间中的唯一标识符,parameterType是将要传入语句的参数的完全限定类名或别名,flushCache是用于控制是否清空缓存的,statementType是用于控制语句的执行类型,keyProperty和keyColumn是用于控制插入...

Global site tag (gtag.js) - Google Analytics