`

SQL Ibatis配置优化

阅读更多
    参数名称  
     参数说明  
       
    cacheModelsEnabled  
     是否启动ibatis中的缓存功能。  
       
    enhancementEnabled  
     是否需要POJO启动Java字节码增强功能,可以提升getter/setter的调用效能避免Java反射所带来的性能开销。  
       
    lazyLoadingEnabled  
     是否同时Lazy Loading带来极大的性能提升。  
       
    useStatementNamespaces  
     是否使用 domain xml 文件中 namespace 别名配置。  
       
    maxRequests  
     最大并发请求数(Statemetn数)。  
       
    maxTransactions  
     最大并发事务数  
       
    maxSessions  
     最大Session数,当前最大允许的并发 SqlMapCliect数  
       
    maxSessions  
     须界于 maxTransactions和maxRequests之间进行配置  
       
    根据自己的多次实践证明,发现这些配置参数的选择与数值将对系统的影响是很大的。  
    经过多次摸索,按照以下配置参数进行配置可以将ibatis的性能进行提升。仅供参数,还需要根据您自己的实 际情况来界定。  
    具体配置参数如下:  
    <sqlMapConfig>  
      
    <settings cacheModelsEnabled="true"   
                         lazyLoadingEnabled="true"  
                        enhancementEnabled="true"  
                        errorTracingEnabled="true"   
                        maxSessions="1024"   
                        maxTransactions="512"  
                        maxRequests="2048"  
                        useStatementNamespaces="true" />  

 

    <sqlMapConfig>  
    <!--  
        参数说明:  
        cacheModelsEnabled:  
        启用或禁用SqlMapClient的所有缓存model。调试程序时使用。  
        enhancementEnabled:  
        启用或禁用运行时字节码增强,以优化访问Java Bean属性的性能,同时优化延迟加载  
        的性能。  
        lazyLoadingEnabled:  
        启用或禁用SqlMapClient的所有延迟加载。调试程序时使用。  
        maxRequests:  
        同时执行SQL语句的最大线程数。大于这个值的线程将阻塞直到另一个线程执行完成。  
        不同的DBMS有不同的限制值,但任何数据库都有这些限制。通常这个值应该至少是  
        maxTransactions的10倍,并且总是大于maxSessions和maxTranactions。  
        减小这个参数值通常能提高性能。  
        maxSessions:  
        同一时间内活动的最大session数。一个session可以是代码请求的显式session,  
        也可以是当线程使用SqlMapClient实例(即执行一条语句)自动获得的session。  
        它应该总是大于或等于maxTransactions并小于maxRequests。减小这个参数值通常能  
        减少内存使用。  
        maxTransactions:  
        同时进入SqlMapClient.startTransaction()的最大线程数。大于这个值的线程将阻塞  
        直到另一个线程退出。不同的DBMS有不同的限制值,但任何数据库都有这些限制。这个  
        参数值应该总是小于或等于maxSessions并总是远远小于maxRequests。减小这个参数值  
        通常能提高性能。  
        useStatementNamespaces:  
        如果启用本属性,必须使用全限定名来引用mapped statement。Mapped statement的  
        全限定名由sql-map的名称和mapped-statement的名称合成,例如  
        queryForObject(“sqlMapName.statementName”)  
        -->  
        <settings cacheModelsEnabled="true"  
                  enhancementEnabled="false"  
                  lazyLoadingEnabled="false"  
                  maxRequests="3000"  
                  maxSessions="3000"  
                  maxTransactions="3000"  
                  useStatementNamespaces="false"/>  
    <!--  
        添加sql map文件。当一个SQL Map文件太大的时候,可以拆分成若干个小的文件。  
        建议按照模块拆分sql map文件,比如sqlmap-mapping-module-a.xml,  
        sqlmap-mapping-module-a.xml。  
        命名规范为:sqlmap-mapping-模块名.xml(全部小写)  
        -->  
        <sqlMap resource="sqlmap-mapping.xml"/>  
         <sqlMap resource="sqlmap-mapping-common.xml"/>  

 

分享到:
评论

相关推荐

    ibatis配置文件、映射文件详解

    ### ibatis配置文件、映射文件详解 #### 1. SQL Map Config 文件详解 在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它...

    打log4j日志-ibatis的sql输出

    本文主要探讨如何使用Log4j框架来记录Ibatis的SQL执行情况,以便更好地理解和优化数据库操作。 首先,Log4j是Apache的一个开源项目,它提供了一个灵活的日志系统,允许开发者定义日志级别、输出格式以及输出位置,...

    在ibatis日志信息中打印SQL语句的方法(个人总结)

    在使用iBatis(现为MyBatis)作为持久层框架进行开发时,有时我们需要调试SQL语句,以便查看执行的SQL、优化性能或者解决查询问题。本文将详细讲解如何在iBatis日志信息中打印SQL语句,以便更好地理解和优化数据库...

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

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

    ibatis配置

    综上所述,"ibatis配置"涵盖了Ibatis框架的基础配置、Mapper接口与XML文件的协同工作、SQL执行和结果映射等多个环节。描述中提到的成功配置意味着已经完成了这些步骤,并且经过测试,证明可以正常运行SQL,处理...

    ibatis 配置 连上 h2 数据库

    在IT行业中,数据库管理和数据访问层的配置是关键部分,特别是在Java开发中。Ibatis作为一个轻量级的持久层框架,允许开发者灵活地控制...熟练掌握这两者的配置和使用,对于提升开发效率和优化数据库操作具有重要意义。

    log4j和ibatis配置文档

    《log4j与iBatis配置详解》 在软件开发中,日志管理和数据库操作是两个至关重要的环节。Log4j作为Java世界里最流行的日志框架之一,它提供了强大的日志记录功能,帮助开发者追踪应用程序运行过程中的信息、警告、...

    iBATIS-SqlMaps-中文教程

    9. **性能优化**:探讨如何通过缓存机制、批处理、预编译SQL等方式提升iBATIS的性能。 10. **实战案例**:通过实际项目中的例子,如用户管理、订单处理等,深入体验iBATIS在实际开发中的应用。 11. **源码分析**:...

    webwork+ibatis+sqlserver2000

    1. **配置文件**:如web.xml(Web应用配置)、struts-config.xml(WebWork配置)、ibatis-config.xml(iBATIS配置)。 2. **Action类**:WebWork的动作类,实现业务逻辑。 3. **DAO(数据访问对象)**:与iBATIS结合...

    ibatis打印sql

    综上所述,"ibatis打印sql"这个主题涵盖了解决iBATIS应用中的调试、性能监控和问题定位的关键技术,主要通过集成Log4j并配置合适的日志级别来实现。理解和掌握这些知识点对于有效管理和维护使用iBATIS的项目至关重要...

    ibatis-sqlmaps-2_cn

    通过《ibatis-sqlmaps-2_cn》,你不仅可以学习到如何使用IBATIS进行数据库操作,还能了解如何优化和调试IBATIS相关的代码,从而提高开发效率。对于初学者,这是一份非常实用的学习资料;对于有经验的开发者,它可以...

    oracle ibatis 配置

    然后是具体的 SQL 映射文件,如 `GamBaseGroup.xml` 和 `(oracle ibatis 配置)RcsRequirementDecision.xml`。这些文件定义了 SQL 查询和结果映射。以下是一个简单的例子: ```xml &lt;!DOCTYPE mapper PUBLIC "-//...

    ibatis配置详解

    Ibatis,全称为“SQL Map...对于Ibatis的源码阅读,可以帮助开发者深入理解其内部机制,提高问题排查和性能优化的能力。因此,无论是初学者还是经验丰富的开发者,对Ibatis的配置进行详尽的学习和实践都是十分有益的。

    [iBATIS]sql转换工具

    这个[iBATIS]sql转换工具,可能是针对iBATIS框架的SQL语句进行优化和转换,比如: - **语法转换**:将特定数据库的SQL语法转换为兼容其他数据库的语法。 - **方言支持**:识别并处理各种数据库方言,如Oracle的`...

    Spring+Struts+ibatis下配置数据读写分离及事务(一)

    iBATIS是一个持久层框架,它简化了SQL操作,允许开发者将SQL语句直接写入XML配置文件或Java注解中。在数据读写分离的环境中,iBATIS可以通过配置不同的数据源,分别连接读库和写库。Spring可以管理和切换这些数据源...

    SQL&Ibatis学习 ppt

    1. 概念理解:理解Ibatis框架的基本原理,它是如何将SQL语句与Java代码解耦的,以及它的配置文件和映射文件的作用。 2. 映射文件:熟悉XML映射文件的编写,包括设置SQL语句、参数映射和结果映射。理解动态SQL的概念...

    iBatis SQL Maps开发指南.pdf

    通过以上总结,可以看出iBatis SQL Maps是一个功能强大的框架,不仅支持灵活的SQL语句定制,还提供了丰富的配置选项和高级功能,如动态SQL、缓存机制等,使得开发者能够在保持高性能的同时,更加便捷地进行数据库...

    iBATIS-SqlMaps-2-Tutorial_cn

    iBATIS的核心概念包括SqlMapConfig.xml配置文件、SqlMap接口以及动态SQL。SqlMapConfig.xml是整个iBATIS应用的全局配置文件,其中包含了数据源、事务管理器等关键设置。SqlMap接口定义了数据库操作的方法,每个方法...

Global site tag (gtag.js) - Google Analytics