`

在做ibatis项目过程中遇到动态查询缓存的解决方案

阅读更多

动态查询可以对不同表进行查询,返回结果映射到HashMap中,但是使用中发现当第一次使用这个语句时是可以的,但是当使用这个语句再查询别的表时报错了,错误原因是从结果集到HashMap的映射时还按照上个表的字段进行装载,说明ibatis对上个表的结构进行了映射缓存。

使用remapResults这个属性,可以重新映射结果集;

  1. <selectid="searchByCustId"remapResults="true"
  2. resultClass="java.util.HashMap"
  3. parameterClass="java.util.HashMap">
  4. <![CDATA[
  5. select*from$username$.$tablename$wherecontains($username$.$tablename$.$colname$,'$kw$')>0
  6. ]]>
  7. </select>

这样问题成功解决!

分享到:
评论

相关推荐

    解决IBatis缓存动态字段问题

    通过在 `&lt;select&gt;` 标签中设置 `remapResults="true"`,可以有效地解决IBatis缓存动态字段带来的问题。这不仅避免了因缓存错误而导致的查询失败,还确保了程序能够灵活地处理动态表名和字段名。同时,需要注意的是,...

    ibatis乱码解决方法(ibatis独立)

    本文将详细讨论如何解决Ibatis中的乱码问题,特别是涉及到GBK和ISO_8859_1编码格式时的解决方案。 首先,我们需要了解乱码产生的原因。乱码通常是因为字符编码不一致导致的。在Java和数据库之间进行数据交互时,...

    ibatis3.1官方中文帮助文档

    8. **问题排查**:提供常见问题的解决方案,帮助开发者在遇到困难时能迅速找到答案。 9. **升级指南**:针对从旧版本升级到iBatis 3.1的用户,提供了详细的迁移步骤和注意事项。 通过深入阅读并实践《iBatis 3.1 ...

    ibatis 开发指南 和 iBATIS-SqlMaps两本图书

    9. **错误处理与调试**:分享如何排查和解决iBATIS在实际使用过程中遇到的问题。 10. **最佳实践**:提供一些关于如何优化iBATIS使用的建议,以提高性能和代码质量。 《iBATIS-SqlMaps》则可能更侧重于实战和案例...

    ibatis開發資料匯總

    这个压缩包中的资料应该涵盖了这些问题的解决方案,帮助你解决在Ibatis开发过程中遇到的各种挑战。 总结起来,Ibatis 是一个强大的持久层框架,它的主要特点包括:SQL与Java代码分离、动态SQL支持、灵活的参数映射...

    ibatis-in-action

    - **问题解决**:针对实际开发过程中可能遇到的问题提供解决方案。 ### 五、附录:iBATIS.NET快速入门 - **环境搭建**:指导如何搭建iBATIS.NET开发环境。 - **示例程序**:提供一个简单的iBATIS.NET示例程序,...

    ibatis和hibernate的简单介绍

    - **Hibernate**拥有庞大的用户群体和活跃的社区,遇到问题时更容易找到解决方案。 5. **适用场景**: - **ibatis**适用于那些需要对SQL语句进行高度定制或优化的场景。 - **Hibernate**适用于那些需要快速开发...

    java项目应用中自定义sql在ibaits框架中的使用.docx

    在实际开发中,当遇到类似问题时,不仅需要检查SQL语法的正确性,还需要关注框架自身的特性和配置,以便找到合适的解决方案。通过合理的缓存管理和配置,可以确保自定义SQL的正确执行,同时保持系统的高效运行。

    ibatis 开发指南

    10. **异常处理与错误排查**:介绍在使用iBatis过程中可能遇到的常见错误及其解决方法,帮助开发者快速定位并修复问题。 通过学习《iBatis 开发指南》,开发者不仅可以掌握iBatis的基本用法,还能深入了解其内在...

    ibatis入门教程

    iBatis 是一个由Apache软件基金会支持的开源ORM(对象关系映射)框架,它是介于“全自动化”的ORM解决方案(如Hibernate)和原始的JDBC之间的半自动化解决方案。iBatis 不仅支持数据库表和POJO(Plain Old Java ...

    基于IBATIS框架发布包、标准化开发安装实施

    在描述中提到的“博文链接:https://angkor.iteye.com/blog/410596”,这是一个具体的资源链接,通常博主会在该链接中分享关于如何使用IBATIS框架进行项目开发、部署以及遇到的问题和解决方案等实践经验。...

    Ibatis使用总结

    在描述中提到的链接"博文链接:https://gongmingwind.iteye.com/blog/732369",虽然具体内容无法直接查看,但可以推测这篇博客可能详细介绍了作者在实际项目中使用Ibatis的心得体会,包括遇到的问题、解决方案以及...

    iBATIS-SqlMaps-2-Tutorial_en.rar

    iBATIS是一个开源的Java框架,它为数据库访问提供了一个简单而强大的解决方案。SqlMaps是iBATIS的核心组件,用于定义SQL映射文件,将Java代码与SQL语句分离,提高了代码的可读性和可维护性。这个"iBATIS-SqlMaps-2-...

    基于半自动化iBatis的轻量级ORM改进研究

    深入iBATIS_2.2.pdf和基于半自动化iBatis的轻量级ORM改进研究.pdf这两份文档可能详细阐述了上述改进措施的具体实现方法,包括如何配置、如何使用以及可能遇到的问题和解决方案。通过阅读这些文档,开发者不仅可以...

    iBATIS&Spring合奏(一)--DAO

    标题中的“iBATIS&Spring合奏(一)--DAO...总之,iBATIS与Spring的集成在Java开发中是常见的做法,通过这种结合,我们可以得到一个强大的数据访问解决方案,既能利用iBATIS的灵活性,又能享受Spring带来的便利和全面性。

    mybatis第一天课程文档

    - **解决方案**:将参数设置也配置在XML文件中,简化代码的同时提高可读性和可维护性。 4. **结果集处理复杂**:从ResultSet中提取数据时,经常需要根据列名或索引获取数据,这种硬编码的方式增加了代码的复杂度。...

    SSM项目监管系统开题报告.doc

    在开发过程中,可能遇到的主要问题包括:数据安全、系统性能优化、用户权限控制、用户体验设计等。这些问题可以通过加强数据加密、使用缓存技术、实施权限管理策略以及进行用户体验测试等方式来解决。指导教师和系部...

    Mybatis优化

    **解决方案:** 1. **确保完整的方法定义:** 对于所有MyBatis使用的对象属性,都必须定义完整的Setter和Getter方法。这样可以避免MyBatis将其视为复杂对象,从而提高性能。 2. **避免使用自定义类型属性:** 尽量...

    MyBatis.md

    根据提供的文件信息,“MyBatis.md”文档主要探讨了MyBatis框架的源码实现及其与Spring框架集成时出现的一级...对于与 Spring 的集成来说,正确处理缓存问题是非常关键的,需要根据具体的应用场景选择合适的解决方案。

Global site tag (gtag.js) - Google Analytics