`
hougbin
  • 浏览: 502501 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ibatis 配置文件

    博客分类:
  • ssh
阅读更多

<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <!-- Always ensure to use the correct XML header as above! -->
<sqlMapConfig>
 <properties resource=" examples/sqlmap/maps/SqlMapConfigExample.properties " />    
 <properties>元素用于在配置文件中使用标准的Java属性文件(name=value)。
 这样做后,在属性文件中定义的属性可以作为变量在SQL Map配置文件及其包含的所有SQL Map映射文件中引用,也可以引用某个文件如:
 <properties url=”file:///c:/config/my.properties” />
  <settings        
  cacheModelsEnabled="true"        
  enhancementEnabled="true"        
  lazyLoadingEnabled="true"        
  maxRequests="32"        
  maxSessions="10"        
  maxTransactions="5"        
  useStatementNamespaces="false" />
  <setting>元素 <setting>元素用于配置和优化SqlMapClient实例的各选项。
  <setting>元素本身及其所有的属性都是可选的。下表列出了<setting>元素支持的属性及其功能:
  maxRequests 同时执行SQL语句的最大线程数。
  大于这个值的线程将阻塞直到另一个线程执行完成。
  不同的DBMS有不同的限制值,但任何数据库都有这些限制。
  通常这个值应该至少是maxTransactions(参见以下)的10倍,并且总是大于maxSessions和maxTranactions。
  减小这个参数值通常能提高性能。例如:maxRequests=“256” 缺省值:512 maxSessions 同一时间内活动的最大session数。
  一个session可以是代码请求的显式session,也可以是当线程使用SqlMapClient实例(即执行一条语句)自动获得的session。
  它应该总是大于或等于maxTransactions并小于maxRequests。减小这个参数值通常能减少内存使用。
  例如:maxSessions=“64” 缺省值:128 maxTransactions 同时进入SqlMapClient.startTransaction()的最大线程数。
  大于这个值的线程将阻塞直到另一个线程退出。不同的DBMS有不同的限制值,但任何数据库都有这些限制。
  这个参数值应该总是小于或等于maxSessions并总是远远小于maxRequests。减小这个参数值通常能提高性能。
  例如:maxTransactions=“16” 缺省值:32 cacheModelsEnabled 全局性地启用或禁用SqlMapClient的所有缓存model。
  调试程序时使用。例如:cacheModelsEnabled=“true” 缺省值:true(启用) lazyLoadingEnabled 全局性地启用或禁用SqlMapClient的所有延迟加载。
  调试程序时使用。例子:lazyLoadingEnabled=“true” 缺省值:true(启用) enhancementEnabled 全局性地启用或禁用运行时字节码增强,
  以优化访问Java Bean属性的性能,同时优化延迟加载的性能。例子:enhancementEnabled=“true” 缺省值:false(禁用) useStatementNamespaces 如果启用本属性,
  必须使用全限定名来引用mapped statement。Mapped statement的全限定名由sql-map的名称和mapped-statement的名称合成。
  例如:queryForObject(“sqlMapName.statementName”); 例如:useStatementNamespaces=“false” 缺省值:false(禁用)
<typeAlias alias="order" type="testdomain.Order"/>
  <typeAlias>元素让您为一个通常较长的、全限定类名指定一个较短的别名。例如:
  <typeAlias alias="shortname" type="com.long.class.path.Class"/>
  在SQL Map配置文件预定义了几个别名。
  它们是:事务管理器别名 JDBC   com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransactionConfig
  JTA    com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig
  EXTERNAL com.ibatis.sqlmap.engine.transaction.external.ExternalTransactionConfig
  Data Source Factory别名 SIMPLE  
  com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory DBCP    
  com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory JNDI    
  com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory
<transactionManager type="JDBC" >
  <transationManager>元素让您为SQL Map配置事务管理服务。属性type指定所使用的事务管理器类型。这个属性值可以是一个类名,也可以是一个别名。包含在框架的三个事务管理器分别是:JDBC,JTA和EXTERNAL。 ? JDBC:通过常用的Connection commit()和rollback()方法,让JDBC管理事务。 ? JTA:本事务管理器使用一个JTA全局事务,使SQL Map的事务包括在更大的事务范围内,这个更大的事务范围可能包括了其他的数据库和事务资源。这个配置需要一个UserTransaction属性,以便从JNDI获得一个UserTransaction。参见以下JNDI数据源的例子。 ? EXTERNAL:这个配置可以让您自己管理事务。您仍然可以配置一个数据源,但事务不再作为框架生命周期的一部分被提交或回退。这意味着SQL Map外部应用的一部分必须自己管理事务。这个配置也可以用于没有事务管理的数据库(例如只读数据库)。
<dataSource type="SIMPLE">
  <datasource>是<transactionManager>的一部分,为SQL Map数据源设置了一系列参数。目前SQL Map架构只提供三个DataSource Factory,但可以添加自己的实现。 SimpleDataSourceFactory SimpleDataSourceFactory为DataSource提供了一个基本的实现,适用于在没有J2EE容器提供DataSource的情况。它基于iBatis的SimpleDataSource连接池实现。
    <transactionManager type="JDBC">   
    <dataSource type="SIMPLE">   
    <property name="JDBC.Driver" value="org.postgresql.Driver"/>   
    <property name="JDBC.ConnectionURL" value="jdbc:postgresql://server:5432/dbname"/>   
    <property name="JDBC.Username" value="user"/>   
    <property name="JDBC.Password" value="password"/>   
    <!-- OPTIONAL PROPERTIES BELOW -->   
    <property name="Pool.MaximumActiveConnections" value="10"/>   
    <property name="Pool.MaximumIdleConnections" value="5"/>   
    <property name="Pool.MaximumCheckoutTime" value="120000"/>   
    <property name="Pool.TimeToWait" value="10000"/>   
    <property name="Pool.PingQuery" value="select * from dual"/>   
    <property name="Pool.PingEnabled" value="false"/>   
    <property name="Pool.PingConnectionsOlderThan" value="0"/>   
    <property name="Pool.PingConnectionsNotUsedFor" value="0"/>   
    </dataSource>   
    </transactionManager>
    DbcpDataSourceFactory DbcpDataSourceFactory实现使用Jakarta DBCP(Database Connection Pool)的DataSource API提供连接池服务。
    适用于应用/Web容器不提供DataSource服务的情况,或执行一个单独的应用。DbcpDataSourceFactory中必须要配置的参数例子如下:
    <transactionManager type="JDBC">
    <dataSource type="DBCP">
    <property name="JDBC.Driver" value="${driver}"/>
    <property name="JDBC.ConnectionURL" value="${url}"/>
    <property name="JDBC.Username" value="${username}"/>
    <property name="JDBC.Password" value="${password}"/>
    <!-- OPTIONAL PROPERTIES BELOW -->
    <property name="Pool.MaximumActiveConnections" value="10"/>
    <property name="Pool.MaximumIdleConnections" value="5"/>
    <property name="Pool.MaximumWait" value="60000"/>
    <!-- Use of the validation query can be problematic. If you have difficulty, try without it. -->
    <property name="Pool.ValidationQuery" value="select * from ACCOUNT"/>
    <property name="Pool.LogAbandoned" value="false"/>
    <property name="Pool.RemoveAbandoned" value="false"/>
    <property name="Pool.RemoveAbandonedTimeout" value="50000"/>
    </datasource>
    </transactionManager>
    JndiDataSourceFactory JndiDataSourceFactory在应用容器内部从JNDI Context中查找DataSource实现。
    当使用应用服务器,并且服务器提供了容器管理的连接池和相关DataSource实现的情况下,可以使用JndiDataSourceFactory。
    使用JDBC DataSource的标准方法是通过JNDI来查找。JndiDataSourceFactory必须要配置的属性如下:
    <transactionManager type="JDBC" >
    <dataSource type="JNDI">
    <property name="DataSource" value="java:comp/env/jdbc/jpetstore"/>
    </dataSource>
    </transactionManager>
    以上配置使用了常用的JDBC事务管理。但对于容器管理的资源,您可能需要象下面的例子一样配置,让它能和全局事务一起工作:
    <transactionManager type="JTA" >
    <property name="UserTransaction" value="java:/ctx/con/UserTransaction"/>
    <dataSource type="JNDI">
    <property name="DataSource" value="java:comp/env/jdbc/jpetstore"/>
    </dataSource>
    </transactionManager>
    注意,UserTransaction属性指向UserTransaction实例所在的JNDI位置。
    JTA事务管理需要它,以使SQL Map能够参与涉及其他数据库和事务资源的范围更大的事务。
    <property name="JDBC.Driver" value="${driver}"/>
    <property name="JDBC.ConnectionURL" value="${url}"/>
    <property name="JDBC.Username" value="${username}"/>
    <property name="JDBC.Password" value="${password}"/>
    <property name="JDBC.DefaultAutoCommit" value="true" />
    <property name="Pool.MaximumActiveConnections" value="10"/>
    <property name="Pool.MaximumIdleConnections" value="5"/>
    <property name="Pool.MaximumCheckoutTime" value="120000"/>
    <property name="Pool.TimeToWait" value="500"/>
    <property name="Pool.PingQuery" value="select 1 from ACCOUNT"/>
    <property name="Pool.PingEnabled" value="false"/>
    <property name="Pool.PingConnectionsOlderThan" value="1"/>
    <property name="Pool.PingConnectionsNotUsedFor" value="1"/>
    </dataSource>
    </transactionManager>
    <!-- Identify all SQL Map XML files to be loaded by this SQL map. Notice the paths are relative to the classpath. For now, we only have one… -->
    <sqlMap resource="examples/sqlmap/maps/Person.xml" />
    <sqlMap>元素用于包括SQL Map映射文件和其他的SQL Map配置文件。
    每个SqlMapClient对象使用的所有SQL Map映射文件都要在此声明。
    映射文件作为stream resource从类路径或URL读入。您必须在这里指定所有的SQL Map文件。

分享到:
评论

相关推荐

    ibatis 配置文件详解

    ### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...

    ibatis配置文件

    标题:“ibatis配置文件” 描述:“详细的ibatis配置文件,初来乍到,先打个招呼...” 在本文中,我们将深入探讨ibatis配置文件的关键组成部分及其如何影响ibatis框架的运行机制。ibatis(现在通常称为MyBatis)是...

    ibatis配置文件信息

    ### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势...

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

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

    ibatis配置文件介绍

    1. **配置文件**:在 iBATIS 中,`sqlMapConfig.xml` 是全局配置文件,它定义了数据源(dataSource)和事务管理器(transactionManager)。数据源配置包括 JDBC 驱动、连接 URL、用户名和密码等信息。`sqlMap` 标签...

    ibatis配置文件自动加载组件

    标题 "ibatis配置文件自动加载组件" 涉及的核心技术是MyBatis的自动配置加载功能,这在开发过程中极大地提高了效率,使得开发者无需每次修改XML映射文件后手动重启服务。MyBatis是一个优秀的Java持久层框架,它简化...

    ibatis配置文件模板

    下面我们将详细探讨Ibatis配置文件模板中的关键组成部分,包括`SqlMap.properties`、`SqlMapConfig.xml`以及与JavaBean的映射文件。 1. **SqlMap.properties** 这是Ibatis的属性配置文件,主要用于存放数据库连接...

    mysql数据库自动生成对应的java实体类和ibatis配置文件

    本话题主要探讨如何自动将MySQL数据库中的表结构转换为Java实体类以及生成相应的iBatis配置文件。 首先,我们需要理解Java实体类(Entity Class)的作用。在Java应用中,实体类通常代表数据库中的表,每个属性对应...

    ibatis用xml配置文件配置使用

    本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到的各种问题。 首先,我们了解iBATIS的核心概念——映射器(Mapper)。映射器是定义SQL语句的地方,而XML配置文件是映射器的主要...

    .Net,JavaBean,ibatis配置文件组件生成工具

    标题中的".Net,JavaBean,ibatis配置文件组件生成工具"揭示了这是一个专注于软件开发的工具,主要用于.NET框架,同时涉及到JavaBean和iBATIS这两个Java领域的概念。这个工具的主要功能是自动生成.NET项目中与数据库...

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

    本文将深入探讨iBATIS的核心配置文件——`sqlMapConfig.xml`,以及映射文件的详细内容。 `sqlMapConfig.xml`是iBATIS的全局配置文件,它包含了所有iBATIS运行时的设置,如数据源、事务管理器、缓存配置等。让我们...

    Ibatis 配置文件之一

    Ibatis的主要配置文档,可以方便大家学习使用

    MyBatis和IBatis配置文件中的自动补全功能

    本文将深入探讨如何在MyBatis和iBatis的配置文件中启用自动补全功能,以提高开发效率。 首先,我们来看`sql-map-2.dtd`和`sql-map-config-2.dtd`这两个文件,它们是iBatis时代的配置文件DTD(Document Type ...

    Spring+ibatis 保留ibatis事务的配置

    ibatis配置文件中,可以看到关于ibatis事务管理器的配置。这里设置事务管理器类型为JDBC,表示ibatis将直接使用底层的JDBC连接进行事务控制,而不是使用Spring提供的事务管理器。 ```xml ``` ...

    Ibatis的应用和配置

    一、Ibatis配置文件 Ibatis的主要配置文件是`mybatis-config.xml`,它是整个系统的全局配置文件。这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ...

    ibatis dtd文件

    这个文件则是Ibatis配置文件的DTD,它规定了如何配置数据源、事务管理器、SqlSessionFactory等核心组件。配置文件中,你可以定义`&lt;transactionManager&gt;`来设置事务管理策略,`&lt;dataSource&gt;`来指定数据源,以及`...

    struts+spring+ibatis的整合使用配置文件方式

    3. iBatis配置文件(mybatis-config.xml):iBatis的全局配置文件,定义了数据源、事务管理、日志等。在Spring整合中,我们通常不直接在mybatis-config.xml中配置数据源,而是由Spring管理并传递给SqlSessionFactory...

    ibatis配置sqlite

    综上所述,配置SQLite到iBATIS的过程主要包括:添加SQLite JDBC驱动,编辑iBATIS配置文件以定义数据库连接信息,以及设置事务管理和SQL映射。这样,iBATIS就能通过配置好的连接参数与SQLite数据库进行交互,执行SQL...

Global site tag (gtag.js) - Google Analytics