`
suzhicheng
  • 浏览: 1008 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

网上搜的一些优化Ibatis的注意事项

阅读更多
1.         强烈建议使用parameterClass(除非没必要)。通过提供parameterClass,您可以获得更好的性能,因为如果框架事先知道这个类,就可以优化自身的性能。



2.        resultMap中columnIndex 属性的使用,某些JDBC Driver可以大幅提高性能,某些则没有任何效果。



3.         不要使用隐式的ResultMap,因为resultClass的自动映射也对性能有轻微的不利影响。因为读取ResultSetMetaData信息会使某些JDBC Driver变慢。



4.         涉及到复杂类型属性查询时,如果产生了N+1式select,可以用联合查询和嵌套的属性映射来代替(1:1select),但是,更好的办法是使用延迟加载和字节码增强选项的子查询。但是,如果要缓存查询结果,则使用子查询(N+1式select)来缓存查询结果。(?)



5.         尽量避免复杂类型集合属性的使用,这种查询的效率很低(是典型的N+1select)。



6.         为了提高性能,最好是手工明确地使用SqlMapClient的startTransaction(),commitTransaction()或rollbackTransaction()来划分事务范围,这样做可以减少连接池的通讯流量和数据库连接的初始化。


7.         自己实现分页查询,不要使用iBatis自带的分页查询(queryForPaginatedList)和queryForList(String,int,int)。前者虽然实现了通过rowResult的分页,但是毕竟是通过jdbc的调用,不如直接通过sql语句的分页效率高(这在通过对海量数据库记录表进行查询是会有明显体现);后者更是将全部的记录读出到内存,再通过skip和max参数来分页,效率极低。
分享到:
评论

相关推荐

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...

    ibatis demo,ibatis例子,ibatis示例

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将SQL语句与Java代码分离,从而更好地管理数据库操作。Ibatis的出现,解决了传统JDBC中手动编写SQL和结果集映射的繁琐工作,...

    ibatis教程,ibatis帮助文档

    3. 细粒度优化:iBATIS允许开发者进行更细致的SQL优化,例如针对特定场景编写高效的更新或查询语句。 4. 维护性:由于iBATIS的SQL存储在独立的XML文件中,相较于Hibernate在Java代码中混合SQL的情况,其可维护性更好...

    ibatis应对批量update

    5. **注意事项**: - 确保数据库驱动支持批量更新功能。 - 调整JDBC连接设置中的批处理大小,以优化性能。 - 测试不同批量大小对性能的影响,找到最佳批量大小。 6. **性能优化**: - 减少网络传输开销,尽可能...

    ibatis源码,ibatis源码 ibatis源码 ibatis源码

    《深入解析iBatis源码》 iBatis,一个优秀的Java持久层框架,以其轻量级、灵活的特性在众多ORM(Object-Relational Mapping)框架中独树一帜。iBatis的核心在于它的SQL映射机制,它将数据库操作与业务逻辑解耦,...

    ibatis api,ibatis文档,ibatis说明文档

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,将数据库操作与业务逻辑解耦,使得开发者可以更专注于业务逻辑的实现,而无需关心繁琐的SQL语句编写。本篇文章将深入探讨Ibatis API、文档...

    Ibatis入门例子,Ibatis教程

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的编写。Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的...

    iBATIS-DAO-2.3.4.726.rar_com.ibatis.dao_iBATIS dao 2_iBatis DAO_

    此外,iBATIS还提供了一些辅助工具,如`ParameterMap`用于管理SQL语句的输入参数,`ResultMap`用于处理查询结果的映射,以及`Cache`机制,用于缓存查询结果,提高系统性能。这些工具类使得开发者能够更方便地进行...

    ibatis基础教学文档

    2. 细粒度优化:iBATIS允许对SQL进行更细致的优化,如直接指定更新单个字段的语句,或选择性地获取表的部分内容。 3. 可维护性:由于SQL保存在单独的文件中,iBATIS的可维护性优于Hibernate,后者有时会在Java代码中...

    JQuery的启发-教你如何二次处理及优化IBatis和Hibernate的查询结果集

    `test`通常包含一些单元测试或者样例数据,用来验证我们的优化效果是否符合预期。`easyquery`可能是一个简单的查询构建工具,允许开发者通过图形化界面构建复杂的查询条件,这样可以降低编写和维护SQL语句的难度。 ...

    Ibatis 入门经典 实例

    实际项目中,还可以结合日志、缓存等机制,进一步优化 Ibatis 的使用。记住,学习 Ibatis 不仅是为了掌握框架本身,更是为了理解如何优雅地处理数据访问层的问题。在实际操作中,参考提供的 `ibatisTest` 示例,你会...

    ibatis

    Ibatis 是一个优秀的Java持久层框架,它提供了一个SQL映射框架,使开发者能够将SQL语句与Java代码分离,从而实现数据访问层的解耦合。Ibatis 的设计目标是简化开发工作,减少JDBC代码量,提高开发效率,并且在数据库...

    ibatis plugin用户指南

    与Eclipse中的Abator不同,iBatis Plugin不仅限于代码生成,而是全方位地优化了iBatis的开发体验。 **配置iBatis Plugin** 首先,你需要从IntelliJ IDEA的插件市场下载iBatis Plugin。安装完成后,配置数据源...

    ibatis2.3.4.rar

    总的来说,Ibatis 2.3.4的实例和jar包为你提供了一个学习和实践的平台,通过深入理解Ibatis的核心机制,你可以更好地设计和优化你的数据访问层,提升项目性能。在实践中不断探索,你会发现Ibatis是一个强大且灵活的...

    ibatis3.1官方中文帮助文档

    9. **升级指南**:针对从旧版本升级到iBatis 3.1的用户,提供了详细的迁移步骤和注意事项。 通过深入阅读并实践《iBatis 3.1 官方中文帮助文档》,开发者不仅可以熟练掌握iBatis框架,还能更好地理解和运用SQL,...

    Ibatis3手册 Ibatis3参考手册

    ### Ibatis3手册知识点概述 Ibatis3作为一款流行的持久层框架,在软件开发领域具有重要的地位。本篇文章基于“Ibatis3手册 Ibatis3参考手册”的标题及描述,深入解析Ibatis3的核心概念、架构特点以及如何进行实际...

    ibatis2指南及ibatis包

    ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南ibatis2指南

    ibatis3资料-介绍

    3. **结果映射改进**:iBATIS3对结果映射进行了优化,支持更复杂的数据结构映射,包括嵌套对象、集合以及使用构造函数进行结果集映射,这极大地增强了框架处理复杂数据的能力。 4. **缓存机制增强**:iBATIS3引入了...

    01_传智播客ibatis教程_准备ibatis环境

    7. **最佳实践**:可能还会涉及到如何优化iBatis配置,避免常见问题,以及如何结合Spring框架实现更高级的应用。 通过这个教程,学习者可以全面了解iBatis的基础知识,为后续的数据库操作和实际项目开发打下坚实...

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

    10. **最佳实践**:提供一些关于如何优化iBATIS使用的建议,以提高性能和代码质量。 《iBATIS-SqlMaps》则可能更侧重于实战和案例分析,通过具体的项目场景来展示如何设计和实施iBATIS解决方案,以及如何利用iBATIS...

Global site tag (gtag.js) - Google Analytics