开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ibatis分页的两种方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 方式一:   调用它的分页方法:List result = sqlMapClient.queryForList(sqlid, parameterObject, begin, length);   方式二:   利用不同数据库的特点,把分页的条件作为参数传进去,在SQL语句处拼接。
812 0
iBATIS教程之快速入门浅析
 iBATIS教程之快速入门浅析 2009-07-21 14:24 开往幸福的班车 百度空间 我要评论() 字号:T | T iBATIS教程是iBATIS初学者需要掌握什么内容呢?那么这篇文章就会告诉你。
634 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载