ibatis java配置文件_ibatis配置文件详解

元素用于在配置文件中使用标准的Java属性文件(name=value)。

这样做后,在属性文件中定义的属性可以作为变量在SQL Map配置文件及其包含的所有SQL Map映射文件中引用,也可以引用某个文件如:

cacheModelsEnabled="true"

enhancementEnabled="true"

lazyLoadingEnabled="true"

maxRequests="32"

maxSessions="10"

maxTransactions="5"

useStatementNamespaces="false" />

元素 元素用于配置和优化SqlMapClient实例的各选项。

元素本身及其所有的属性都是可选的。下表列出了元素支持的属性及其功能:

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(禁用)

元素让您为一个通常较长的、全限定类名指定一个较短的别名。例如:

在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

元素让您为SQL Map配置事务管理服务。属性type指定所使用的事务管理器类型。这个属性值可以是一个类名,也可以是一个别名。包含在框架的三个事务管理器分别是:JDBC,JTA和EXTERNAL。 ? JDBC:通过常用的Connection commit()和rollback()方法,让JDBC管理事务。 ? JTA:本事务管理器使用一个JTA全局事务,使SQL Map的事务包括在更大的事务范围内,这个更大的事务范围可能包括了其他的数据库和事务资源。这个配置需要一个UserTransaction属性,以便从JNDI获得一个UserTransaction。参见以下JNDI数据源的例子。 ? EXTERNAL:这个配置可以让您自己管理事务。您仍然可以配置一个数据源,但事务不再作为框架生命周期的一部分被提交或回退。这意味着SQL Map外部应用的一部分必须自己管理事务。这个配置也可以用于没有事务管理的数据库(例如只读数据库)。

是的一部分,为SQL Map数据源设置了一系列参数。目前SQL Map架构只提供三个DataSource Factory,但可以添加自己的实现。 SimpleDataSourceFactory SimpleDataSourceFactory为DataSource提供了一个基本的实现,适用于在没有J2EE容器提供DataSource的情况。它基于iBatis的SimpleDataSource连接池实现。

DbcpDataSourceFactory DbcpDataSourceFactory实现使用Jakarta DBCP(Database Connection Pool)的DataSource API提供连接池服务。

适用于应用/Web容器不提供DataSource服务的情况,或执行一个单独的应用。DbcpDataSourceFactory中必须要配置的参数例子如下:

JndiDataSourceFactory JndiDataSourceFactory在应用容器内部从JNDI Context中查找DataSource实现。

当使用应用服务器,并且服务器提供了容器管理的连接池和相关DataSource实现的情况下,可以使用JndiDataSourceFactory。

使用JDBC DataSource的标准方法是通过JNDI来查找。JndiDataSourceFactory必须要配置的属性如下:

以上配置使用了常用的JDBC事务管理。但对于容器管理的资源,您可能需要象下面的例子一样配置,让它能和全局事务一起工作:

注意,UserTransaction属性指向UserTransaction实例所在的JNDI位置。

JTA事务管理需要它,以使SQL Map能够参与涉及其他数据库和事务资源的范围更大的事务。

元素用于包括SQL Map映射文件和其他的SQL Map配置文件。

每个SqlMapClient对象使用的所有SQL Map映射文件都要在此声明。

映射文件作为stream resource从类路径或URL读入。您必须在这里指定所有的SQL Map文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值