iBatis2配置

简介:
iBatis2配置
 
1、iBatis的整体配置大概如下:
 
<? 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"> 
< sqlMapConfig > 
         < properties  resource ="jdbc.properties" /> 
         < settings  cacheModelsEnabled ="true"  enhancementEnabled ="true" 
                             lazyLoadingEnabled ="true"  maxRequests ="512"  maxSessions ="128" 
                             maxTransactions ="32"  useStatementNamespaces ="true" /> 

         < transactionManager  type ="JDBC"  commitRequired ="true" > 
                <!--  事务管理器使用的任意名称的键值对配置,可以设置多个 --> 
                 < property  name ="" value="/> 
                 < dataSource  type ="SIMPLE" > 
                         < property  name ="JDBC.Driver"  value ="${jdbc.driver}" /> 
                         < property  name ="JDBC.ConnectionURL"  value ="${jdbc.url}" /> 
                         < property  name ="JDBC.Username"  value ="${jdbc.user}" /> 
                         < property  name ="JDBC.Password"  value ="${jdbc.password}" /> 
                 </ dataSource > 
         </ transactionManager > 

         < sqlMap  resource ="com/asiainfo/tdmc/entity/sqlmap/Cfg_code.xml" /> 

</ sqlMapConfig >
 
2、对每一段的解释
 
a、settings
         < settings 
                <!--  数据高速缓存配置,默认为true,将近期使用过的数据保存在内存中,为充分利用该技术,还必须为已映射的语句配置高速缓存模型 --> 
                cacheModelsEnabled="true" 
                <!-- 是否使用cglib中那些已经优化的类来提高延迟加载的性能,默认为ture,如果cglib包不存在,则自动禁用 
--> 
                enhancementEnabled="true" 
                <!--  延迟加载属性,默认为true,适用于存在相关联的映射语句 --> 
                lazyLoadingEnabled="true" 
                <!--  已废弃,最大的活动请求数 --> 
                maxRequests="512" 
                <!--  已废弃,最大事务相关(线程)请求数 --> 
                maxSessions="128" 
                <!--  已废弃,最大活动事务数 --> 
                maxTransactions="32" 
                <!--  对SQLMap使用命名空间 --> 
                useStatementNamespaces="true"/>
 
b、事务管理器和数据源
         < transactionManager  type ="JDBC"  commitRequired ="true" > 
                <!--  事务管理器使用的任意名称的键值对配置,可以设置多个 --> 
                 < property  name ="" value="/> 
                 < dataSource  type ="SIMPLE" > 
                         < property  name ="JDBC.Driver"  value ="${jdbc.driver}" /> 
                         < property  name ="JDBC.ConnectionURL"  value ="${jdbc.url}" /> 
                         < property  name ="JDBC.Username"  value ="${jdbc.user}" /> 
                         < property  name ="JDBC.Password"  value ="${jdbc.password}" /> 
                 </ dataSource > 
         </ transactionManager > 
    
 
transactionManager配置内置的事务管理器,其type类型取值说明如下:
JDBC:基于JDBC的事务管理。
JTA:基于容器的事务管理。
EXTERNAL:提供非事务管理,并家丁管理事务的是应用程序,而不是iBatis
commitRequired是一个非必须的属性,默认为false,为true时要求在释放连接之前必须提交或者回滚操作。
dataSource是用来定义DataSourceFactory的实现类,其type类型取值说明如下:
SIMPLE:简单的数据源工厂,不要jdbc以外的jar包支持。
DBCP:使用jakarta Commons数据库连接池实现。
JNDI:通过JNDI定位的基于容器的数据源。


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/808801,如需转载请自行联系原作者
相关文章
|
Linux API 内存技术
Linux Kernel中AEP的现状和发展
AEP简介AEP是Intel推出的一种新型的非易失Optane Memory设备,又被称作Apache Pass,所以一般习惯称作AEP。在这之前也有类似的设备称作NVDIMM或PMEM,目前Linux创建的AEP设备节点也是叫做pmem(如/dev/pmem0),所以本文中NVDIMM或PMEM都指AEP。
4459 0
|
11月前
|
存储 分布式计算 运维
Hbase查看集群状态
Hbase查看集群状态
|
关系型数据库 MySQL 数据库
MySQL:错误代码:1118行大小太大(> 8126)将某些列更改为TEXT或BLOB
MySQL:错误代码:1118行大小太大(> 8126)将某些列更改为TEXT或BLOB
386 0
|
Java Maven
pom文件中maven-assembly-plugin插件
使用Maven对Web项目进行打包,默认为war包;但有些时候,总是希望打成zip包(亦或其他压缩包),这时就用到了maven-assembly-plugin插件
266 0
|
运维 Java 应用服务中间件
springboot 最简单的日志打印,输出日志文件 及全局异常捕获处理
springboot 最简单的日志打印,输出日志文件 及全局异常捕获处理
746 0
springboot 最简单的日志打印,输出日志文件 及全局异常捕获处理
|
Dubbo 应用服务中间件
几个你不知道的dubbo注册中心细节
在配置dubbo注册中心时,一般会这样写 dubbo.registry.protocol=zookeeper dubbo.registry.address=127.0.0.1:2181 也会简单地写成 dubbo.registry.address=zookeeper://127.0.0.1:2181
725 0
几个你不知道的dubbo注册中心细节
|
存储 关系型数据库 MySQL
MySQL TEXT数据类型的最大长度
TINYTEXT 256 bytes   TEXT 65,535 bytes ~64kb MEDIUMTEXT  16,777,215 bytes ~16MB LONGTEXT 4,294,967,295 bytes ~4GB           http://blog.
14722 0
|
Python
Python 技术篇-使用time库获取秒级时间戳、毫秒级时间戳实例演示
Python 技术篇-使用time库获取秒级时间戳、毫秒级时间戳实例演示
367 0
Python 技术篇-使用time库获取秒级时间戳、毫秒级时间戳实例演示