`

SqlMapConfig.xml是ibatis连接数据库的配置文件

阅读更多

<?xml version="1.0" encoding="UTF-8" ?> <!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文件。例子如下: <!-- CLASSPATH RESOURCES -->

</sqlMapConfig>

分享到:
评论
1 楼 lz12366 2010-07-23  
排版好乱啊..........

相关推荐

    ibatis 连接字符串 SqlMapConfig.xml

    这个文件是iBATIS的核心配置文件,它包含了数据源、事务管理器、SQL映射文件等信息,确保了应用程序能够正确地连接到数据库并执行SQL语句。 在SqlMapConfig.xml中,最重要的部分是数据库连接的配置,通常包括以下几...

    ibatis用xml配置文件配置使用

    2. **全局配置文件设置**:在`mybatis-config.xml`中,需要配置数据库连接信息,例如数据源(DataSource)、环境(Environment)、事务管理器(TransactionManager)和SqlSessionFactory。例如: ```xml ...

    IBatis.net 配置各种数据库

    全局配置文件SqlMapConfig.xml是IBatis的入口,用于配置数据源、事务管理器等信息。例如,对于MySQL数据库,可以在SqlMapConfig.xml中添加如下配置: ```xml &lt;add name="MySqlConnection" type="iBatisNet.Data...

    ibatis配置文件信息

    通过对ibatis配置文件的解析,我们可以看到ibatis的强大之处在于它能够灵活地配置各种参数,并通过简洁的XML配置文件实现对数据库的高效操作。通过上述三个配置文件的设置,ibatis能够自动完成对数据库的操作,包括...

    Ibatis连接MySQL数据库实例

    如果`ibatis.zip`中的项目可以直接运行,那么下载解压后,只需修改`sqlMapConfig.xml`中的数据库配置,即可运行示例。如标题所述,若项目无法正常运行,开发者承诺将会“吃翔三斤”。 总的来说,Ibatis连接MySQL...

    记一次Ibatis的意外发生.docx

    SqlMapConfig是IBatis中的核心配置文件,用于定义SqlMap的配置。SqlMapConfig文件可以包含多个SqlMap,每个SqlMap对应一个数据库表。SqlMapConfig文件的DTD文件是http://ibatis.apache.org/dtd/sql-map-2.dtd。 ...

    IBATIS建立的数据库连接

    **IBATIS数据库连接详解** IBATIS,全称为"Ibatis - A Simple SQL Mapping Framework",是一个优秀的开源Java持久层框架。它简化了在Java应用中处理SQL的过程,提供了SQL Map配置文件,使得开发者能够将SQL语句与...

    ibatis_SqlMapConfig配置详解

    总结来说,`ibatis_SqlMapConfig`配置文件是iBATIS框架的中枢,它控制了iBATIS与数据库交互的方式,包括连接池、缓存策略、事务管理、性能优化等关键特性。正确理解和配置这个文件对于提高应用性能和保证数据一致性...

    ibatis配置文件

    `sqlMapConfig.xml`文件是ibatis的主要配置文件,用于定义整个应用的运行环境,包括连接数据库的信息、事务管理等。以下是对该文件中各部分的详细介绍: 1. **文件声明**: ```xml &lt;?xml version="1.0" encoding=...

    ibatis教程外加jar包

    - **SqlMapConfig.xml**:这是Ibatis的主要配置文件,用于配置数据源、事务管理器、SqlSessionFactory等。 - **SqlSession**:Ibatis中的会话接口,用于执行SQL语句并获取结果。 - **SqlSessionFactory**:创建...

    ibatis配置文件模板

    总结起来,Ibatis配置文件模板是构建Ibatis项目的基础,`SqlMap.properties`提供数据库连接信息,`SqlMapConfig.xml`负责全局配置,而JavaBean的映射文件则定义了数据库操作与Java对象的对应关系。理解并熟练掌握...

    ibatiS架包

    1. iBATIS核心库:这是iBATIS的主要部分,包含SqlMapConfig.xml配置文件解析、SqlMapClient、SqlSession管理等核心类。 2. Oracle JDBC驱动:ojdbc.jar,用于建立Java应用程序与Oracle数据库之间的连接。 3. XML配置...

    spring+struts+ibatis用到的配置文件模板

    iBatis是一个SQL映射框架,它允许开发者将SQL语句直接写在XML配置文件中,以简化数据库操作。`sqlmapconfig.xml`的主要内容包括: 1. `&lt;configuration&gt;`:配置文件的根元素,包含全局配置和数据源设置。 2. `...

    spring+ibatis配置实例

    2. `src/main/resources`:放置配置文件,如Spring的`applicationContext.xml`和`sqlMapConfig.xml`,以及数据库连接配置等。 3. `src/main/webapp`:Web应用目录,包含静态资源(如HTML、CSS、JavaScript),以及...

    ibatis-sqlmap-2.3.4.726-sources.jar.zip_birth84v_cutting1v2_ibat

    在2.3.4.726这个版本中,我们可以期待看到一些关键组件,如SqlMapConfig.xml配置文件的解析逻辑,SqlMapClient的构建和执行SQL的方法,以及Statement类型的定义(例如,SelectStatement、InsertStatement等)。...

    ibatis 配置文件详解

    ibatis的核心配置文件是`SqlMapConfig.xml`,它是ibatis运行的基础,用于设置ibatis的运行环境等信息,包括数据源和事务管理器等。配置文件主要包含以下几部分: 1. **properties**:用于读取外部属性文件,比如...

    Struts+Spring+iBATIS做的XML文件操作例子

    iBATIS 则是一个持久层框架,它简化了SQL查询的编写和执行,通过XML配置文件将Java代码与数据库操作解耦。 在这个例子中,XML文件主要在iBATIS中发挥作用,用于定义SQL映射。iBATIS的XML配置文件包含了SQL语句、...

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

    iBatis的配置文件SqlMapConfig.xml是系统启动时加载的关键,它包含了数据源(DataSource)、事务管理器(TransactionManager)和SqlMap配置信息。解析这个XML文件的过程涉及到DOM或SAX解析器,源码中这部分功能通常...

    IBATIS连接多数据库参考文档

    而`InitMapper`方法则负责实际的初始化过程,它创建了一个`DomSqlMapBuilder`对象,该对象能够解析XML配置文件(在这种情况下是`AnthorMap.config`),并使用`ConfigureAndWatch`方法来配置并监控配置文件的变化。...

    JAVA之ibatis2.3.X.ppt

    sqlmapconfig.xml是iBatis的全局配置文件,包含了数据库连接、事务管理等信息。 在操作流程上,iBatis的工作原理大致如下: 1. 创建Mapped Statement,这是SQL Maps中的关键步骤,它会根据配置文件生成...

Global site tag (gtag.js) - Google Analytics