当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

Sql Map XML配置文件详解

发表于: 2011-04-20   作者:爪哇岛岛主   来源:转载   浏览:
摘要: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org//dtd//s
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org//dtd//sql-map-config-2.dtd">

<sqlMapConfig>
	
	<!-- 
		SQL Map配置文件拥有唯一的<properties>元素,用于在配置文件中使用标准的Java属性文件
		这样做后,在属性文件中定义属性可以作为变量在Sql Map配置文件及其包含的所有Sql Map映射文件中引用,
		例如属性文件中包含属性:JDBC.DRIVER=com.microsoft.jdbc.sqlserver.SQLServerDriver
		Sql Map配置文件及其每个映射文件都可以使用占位符${JDBC.DRIVER}来代表值
		com.microsoft.jdbc.sqlserver.SQLServerDriver
	 -->
	<properties resource="com/ymq/ibatis/dbProperties.properties"/>
	
	<!-- 
		<setting>元素用于配置和优化SqlMapCilent实例的个选项,<setting>元素本身及其所有的属性都是可选的 
		1.maxRequests:
			同时执行SQL语句的最大线程数。大于这个值的线程将阻塞,知道另一个线程执行完成。不同的
		DBMS有不同的限制值,但是任何数据库都有这些限制。。通常这个值应该至少是maxTransactions
		的10倍,并且总是大于maxSessions和maxTransactions。减小这个参数值通常能提高性能。
		缺省值为512。
		
		2.maxSessions:
			同一时间内活动的最大session数。一个session可以使代码请求的显示session,也可以是当
		线程使用SqlMapClient实例(即一条执行语句)自动获取的session。它应总是大于或等于
		maxTransactions并小于maxRequests。减少这个值通常能减少内存使用。缺省值:128
		
		3.maxTransactions:
			同时进入SqlMapClient.startTransaction()的最大线程数。大于这个值的线程将阻塞,
	    直到另一个线程退出。不同的DBMS有不同的限制值,但是任何数据库都有这些限制。这个参数应总是
	    小于或者是等于maxSessions并总是远远小于maxRequests。减少这个参数值偶那个厂能提高性能。
	    默认值:32
	    
		4.cacheModelsEnabled:
			全局性地启用或禁用SqlMapClient的所有缓存model。调试程序时使用。默认:true。
			
		5.lazyLoadingEnabled:
			全局性地启用或禁用SqlMapClient的所有延迟加载。调试程序市使用。默认:true。
			
		6.enhancementEnabled:
			全局性地启用或禁用运行时字节码增强,以优化访问statement。Mapped statement的
	    全限定名来引用mapped statement。Mapped statement的全限定名由sql-map的名称和
	    mapped-statement的名称合成。例如:queryForObject("sqlMapName.statementName");
	    例如:useStatementNamespaces="false"。默认为:false。
	-->
	<settings
		cacheModelsEnabled="true"
		enhancementEnabled="true"
		lazyLoadingEnabled="true"
		maxRequests="30"
		maxSessions="10"
		maxTransactions="5"
		useStatementNamespaces="true"
	/>
	
	<!-- 
		用一个相对简短的名称代替一个通常较长、权限定义类名,例如如果加入下面的,那么在
		dataSource type="mySimple"即可
		<typeAlias alias="mySimple" type="com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory"/>
	-->
	<transactionManager type="JDBC">
		<dataSource type="SIMPLE">
			<property name="JDBC.Driver" value="${JDBC.Driver}"/>
			<property name="JDBC.ConnectionURL" value="${JDBC.ConnectionURL}"/>
			<property name="JDBC.Username" value="${JDBC.Username}"/>
			<property name="JDBC.Password" value="${JDBC.Password}"/>
		</dataSource>
	</transactionManager>
	<sqlMap resource="com/ymq/ibatis/Person.xml"/>
</sqlMapConfig>

Sql Map XML配置文件详解

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号