- 浏览: 3499788 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
<?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! -->
解析开始
1.
<properties resource=" examples/sqlmap/maps/SqlMapConfigExample.properties " />
<properties>元素用于在配置文件中使用标准的Java属性文件(name=value)。这样做后,在属性文件中定义的属性可以作为变量在SQL Map配置文件及其包含的所有SQL Map映射文件中引用,也可以引用某个文件如:<properties url=”file:///c:/config/my.properties” />
2.
<settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" />
<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(禁用)
3.
<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文件。
发表评论
-
oracle复制表数据,复制表结构
2011-07-25 21:19 361931.不同用户之间的表数据复制 对于在一个数据库上的两个 ... -
删除 SQL Server 的所有已知实例
2011-04-05 18:42 2027如果提示实例已经被注册,无法安装,那么: 删除 SQL ... -
【SQL】安装 SQL SERVER MsiGetProductInfo 无法检索 Product Code 1605错误 解决方案
2011-04-05 17:10 4843重装数据库服务器上的SQL SERVER 2008 上遇到了以 ... -
Mysql Using Master/Slave Replication with ReplicationConnection
2011-03-24 15:19 1981Starting with Connector/J 3.1.7 ... -
oracle网络配置listener.ora、sqlnet.ora、tnsnames.ora
2010-12-03 12:36 33333oracle网络配置 三个配置文件 listener.ora ... -
Oracle XE的数据库创建过程
2010-12-02 22:55 4338今天安装了Oracle XE,发现并没有自动创建数据库。趁着 ... -
实现数据库TPC性能测试的开源及商业软件
2010-12-02 01:11 3118商业软件 Benchmark Factory ... -
MySQL压力测试工具mysqlslap
2010-11-07 17:13 1766MySQL从5.1.4版开始带有一个压力测试工具mys ... -
一台机器上安装多个mysqld实例
2010-11-06 16:09 2164一台机器安装多个mysqld实例 1. ps -aux | ... -
MySQL数据库双向同步
2010-08-25 20:23 40701. 主从关系的同步 master端 192.168.5 ... -
MySQL 数据库之间的同步(windows与linux)
2010-08-25 20:14 32041.导出windows mysql的test库到linux m ... -
Ubuntu Server 下开启远程连接 MySQL
2010-03-16 23:24 3103要通过远程连接MySQL,需要做两步:第一步是要创建一个可以远 ... -
DB2 在REDHAT 5下的详细安装过程 DB2 9.5 C EXPRESS
2010-03-02 10:43 4582过详细测试并且补充后发表, 括号内的为自行添加的内容. ... -
IBM DB2 Express-C 9.5.2
2010-03-02 09:44 3509或许您已经知 ... -
Oracle Database 10g Express Edition安装小结
2010-03-01 15:28 9165racle Database 10g Express Edit ... -
HA JDBC – High Availability JDBC
2010-02-27 18:46 3301Some time ago I worked on a pr ... -
数据归档将走向何方
2010-02-25 11:50 2262数据量的爆炸性增长,让我们不得不更加关心存储。这也造成 ... -
Database
2010-02-18 15:53 2312下一代数据库发展的4大趋势 趋势之一:对XML的支 ... -
免安装Oracle运行pl/sql developer
2010-02-16 20:27 2180Sql客户端中,虽然最便捷的是万能而且轻量无比的Sql Wor ... -
在debian上安装oracle 10g express
2010-02-16 18:46 4919在debian上安装oracle 10g express 若 ...
相关推荐
这个文件是iBATIS的核心配置文件,它包含了数据源、事务管理器、SQL映射文件等信息,确保了应用程序能够正确地连接到数据库并执行SQL语句。 在SqlMapConfig.xml中,最重要的部分是数据库连接的配置,通常包括以下几...
在2.3.4.726这个版本中,我们可以期待看到一些关键组件,如SqlMapConfig.xml配置文件的解析逻辑,SqlMapClient的构建和执行SQL的方法,以及Statement类型的定义(例如,SelectStatement、InsertStatement等)。...
- **SqlMapConfig.xml**:全局配置文件,包含数据源、事务管理器、环境等配置信息。 - **SqlMap.xml**:每个数据库表对应的映射文件,定义了SQL语句及其结果集映射。 - **Executor(执行器)**:执行SQL语句的...
本文将深入解析iBatis的核心配置文件`sqlMapConfig.xml`,以及映射文件的使用方法,帮助初学者更好地理解和掌握iBatis的配置与映射。 首先,`sqlMapConfig.xml`是iBatis系统的主配置文件,它定义了整个系统的行为,...
通过对ibatis配置文件的解析,我们可以看到ibatis的强大之处在于它能够灵活地配置各种参数,并通过简洁的XML配置文件实现对数据库的高效操作。通过上述三个配置文件的设置,ibatis能够自动完成对数据库的操作,包括...
`sqlMapConfig.xml`文件是ibatis的主要配置文件,用于定义整个应用的运行环境,包括连接数据库的信息、事务管理等。以下是对该文件中各部分的详细介绍: 1. **文件声明**: ```xml <?xml version="1.0" encoding=...
2. 创建SqlMapClient:根据SqlMapConfig.xml配置文件初始化SqlMapClient实例。 3. 加载SqlMap文件:每个SqlMap文件对应一个数据库表或视图,定义SQL语句和参数映射。 4. 执行SQL:通过SqlMapClient实例调用相应的...
其中,SqlMapConfig.xml是iBatis的核心配置文件,它定义了数据源、事务管理器、SQL映射文件等全局设置。 接着,"ibatis-3-core-src-3.0.0.227.zip"则是iBatis源码包,对于开发者来说,这是一份宝贵的资源。通过阅读...
ibatis的核心配置文件是`SqlMapConfig.xml`,它是ibatis运行的基础,用于设置ibatis的运行环境等信息,包括数据源和事务管理器等。配置文件主要包含以下几部分: 1. **properties**:用于读取外部属性文件,比如...
总结来说,`ibatis_SqlMapConfig`配置文件是iBATIS框架的中枢,它控制了iBATIS与数据库交互的方式,包括连接池、缓存策略、事务管理、性能优化等关键特性。正确理解和配置这个文件对于提高应用性能和保证数据一致性...
6. **SqlMapConfig.xml配置**:这是Ibatis的主要配置文件,用来加载映射文件、指定数据源、事务管理器等。 7. **Mapper接口与XML映射文件**:定义Mapper接口,每个方法对应一个SQL操作,然后在对应的XML文件中编写...
将这些jar包添加到项目的lib目录下后,还需要在项目的配置文件中进行相应的设置,例如Spring的bean配置和iBatis的SqlMapConfig.xml配置。同时,需要编写DAO(Data Access Object)接口和实现,以便通过Spring管理的...
本文将深入探讨iBATIS的核心配置文件——`sqlMapConfig.xml`,以及映射文件的详细内容。 `sqlMapConfig.xml`是iBATIS的全局配置文件,它包含了所有iBATIS运行时的设置,如数据源、事务管理器、缓存配置等。让我们...
配置文件`sqlMapConfig.xml`是iBatis的核心,用于定义数据源、事务管理器以及SQL映射文件的位置等信息。 3. SQL映射文件 SQL映射文件是iBatis的核心组件,它以XML格式编写,包含SQL语句及其参数绑定。例如,一个...
在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它运行时参数等。下面将对这个文件中的关键元素进行详细的解析。 ##### ...
而`InitMapper`方法则负责实际的初始化过程,它创建了一个`DomSqlMapBuilder`对象,该对象能够解析XML配置文件(在这种情况下是`AnthorMap.config`),并使用`ConfigureAndWatch`方法来配置并监控配置文件的变化。...
这样,XML解析器就能够识别并验证配置文件的结构,确保其遵循Ibatis的规范。 总结来说,"sql-map-2.dtd"和"sql-map-config-2.dtd"是Ibatis 2.x版本中非常关键的组件,它们为XML配置文件提供了结构化规则,使得开发...
1. iBATIS核心库:这是iBATIS的主要部分,包含SqlMapConfig.xml配置文件解析、SqlMapClient、SqlSession管理等核心类。 2. Oracle JDBC驱动:ojdbc.jar,用于建立Java应用程序与Oracle数据库之间的连接。 3. XML配置...
在Ibatis中,`sql-map`和`sql-map-config`是两个重要的XML配置文件,它们使用DTD(Document Type Definition)来定义其结构和规则。 DTD是XML文档类型定义,它定义了XML文档的合法构建块,包括元素、属性、实体等,...
Ibatis根据xml配置文件中的SQL语句执行数据库操作,完成数据的CRUD。最后,Action将处理结果返回给Struts1,Struts1再通过JSP或其他视图技术展示给用户。 综上所述,"ibatis_struts1_spring.rar"项目展示了Ibatis、...