ibatis配置文件映射文件详解.docx
- 文档编号:23748829
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:21
- 大小:162.79KB
ibatis配置文件映射文件详解.docx
《ibatis配置文件映射文件详解.docx》由会员分享,可在线阅读,更多相关《ibatis配置文件映射文件详解.docx(21页珍藏版)》请在冰豆网上搜索。
ibatis配置文件映射文件详解
ibatis学习笔记
(一)>>>>>>>sqlMapConfig.xml文件详解
1.sqlMapConfig.xml配置文件详解:
Xml代码
1.
xml version="1.0" encoding="UTF-8" ?
>
2.
DOCTYPE sqlMapConfig
3.PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
4." >
5.< sqlMapConfig >
6. < settings
7. cacheModelsEnabled ="true"
--是否启用缓存机制-- >
8. lazyLoadingEnabled="true"
-- 是否启用延迟加载机制 -->
9. enhancementEnabled="true"
-- 是否启用字节码增强机制 -->
10. errorTracingEnabled="true"
-- 是否启用错误处理机制 -->
11. maxRequests="32"
-- 最大并发请求数 -->
12. maxSessions="10"
-- 最大Session数 -->
13. maxTransactions="5"
-- 最大并发事务数 -->
14. useStatementNamespaces="true"/>
-- 是否启用名称空间 -->
15. < transactionManager type ="JDBC" >
-- 定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL) -->
16. < dataSource type ="SIMPLE" >
-- type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI) -->
17. < property name ="JDBC.Driver" value ="com.mysql.jdbc.Driver" />
18. < property name ="JDBC.ConnectionURL" value ="jdbc:
mysql:
//localhost/test" />
19. < property name ="JDBC.Username" value ="root" />
20. < property name ="JDBC.Password" value ="wyq" />
21. < property name ="Pool.MaximumActiveConnections" value ="10" />
-- 连接池维持的最大容量 -->
22. < property name ="Pool.MaximumIdleConnections" value ="5" />
-- 连接池允许挂起的最大连接 -->
23. < property name ="Pool.MaximumCheckoutTime" value ="120000" />
-- 连接被某个任务所允许占用的最大时间 -->
24. < property name ="TimeToWait" value ="500" />
-- 线程允许等待的最大时间 -->
25.
26. dataSource >
27. transactionManager >
28. < sqlMap resource ="com/wyq/map/userMap.xml" />
29. sqlMapConfig >
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEsqlMapConfigPUBLIC"-//iBATIS.com//DTDSQLMapConfig2.0//EN""> --是否启用缓存机制-->lazyLoadingEnabled="true" --是否启用延迟加载机制-->enhancementEnabled="true" --是否启用字节码增强机制-->errorTracingEnabled="true" --是否启用错误处理机制-->maxRequests="32" --最大并发请求数-->maxSessions="10" --最大Session数-->maxTransactions="5" --最大并发事务数-->useStatementNamespaces="true"/> --是否启用名称空间--> --定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL)--> --type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI)--> mysql: //localhost/test"/> --连接池维持的最大容量--> --连接池允许挂起的最大连接--> --连接被某个任务所允许占用的最大时间--> --线程允许等待的最大时间-->
一transactionManager节点
transactionManagerab定义了ibatis的事务管理器,目前提供了以下几种选择:
1) JDBC
通过传统JDBCCmit/rollback实现事务支持.
2) JTA
使用容器提供的JTA服务实现全局事务管理.
3) EXTERNAL
外部事务管理,如在EJB中使用ibatis,通过EJB的部署配置即可实现自动的事务管理机制.此时ibatis将把所有事务委托给外部容器进行管理.此外,通过Spring等轻量级容量实现事务的配置化管理也是一个不错的选择.
二dataSource节点
dataSource从属于transactionManager,用于设定ibatis运行期使用DataSource属性.
type属性:
dataSource元素的type属性指定了dataSource的实现类型.可选项目:
1) SIMPLE:
SIMPLE是ibatis内置的dataSource实现,其中实现了一个简单的数据库连接池机制,对应ibatis实现类为
com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory.
JDBC使用数据库自己的事务(局部事务),connect.beginTranstion(),mit()等.
2) DBCP
基于ApacheDBCP连接池组件实现的DataSource封装,当无容器提供DataSource服务时,建议使用该选项,对应ibatis实现类为
com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory.
JTA:
使用jta事务管理器管理事务(全局事务),使用userTranstion对象.
3) JNDI
使用J2EE容器提供的DataSource实现,DataSource将通过指定的JNDIName从容器中获取.对应ibatis实现类为
com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory.
Ibatis不控制事务,事务交由外部控制,一般在CTM,或spring托管事务中使用.
JNDI的配置大部分都在应用服务器中进行,所以在ibatis中的配置相对简单
(1)jdbc事务控制的JNDI配置
Xml代码
1.< transctionManager type ="JDBC" >
2. < dataSource type ="JNDI" >
3. < property name ="DataSource" value ="java:
comp/env/jdbc/myDataSource" />
4. dataSource >
5. transctionManager >
comp/env/jdbc/myDataSource"/> (2)JTA事务控制的JNDI配置 Xml代码 1.< transctionManager type ="JTA" > 2. < property name ="UserTransaction" value ="java: /ctx/con/UserTransaction" /> 3. < dataSource type ="JNDI" > 4. < property name ="DataSource" value ="java: comp/env/jdbc/myDataSource" /> 5. dataSource > 6. transctionManager > /ctx/con/UserTransaction"/> comp/env/jdbc/myDataSource"/> sqmMap节点指定了映射文件的位置,配置文件中可以定义多个sqlMap元素,以指定项目内所包含的所有映射文件. ibatis学习笔记 (二)>>>>>>>sqlMapConfig.xml文件详解 ibatis基础代码包括: 1. ibatis实例配置 一个典型的配置文件如下(具体配置项目的含义见后): xmlversion="1.0"encoding="UTF-8" ? > DOCTYPEsqlMapConfig PUBLIC"-//iBATIS.com//DTDSQLMapConfig2.0/ "[url] cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /> mysql: //localhost/sample"/> ⑴Settings节点 cacheModelsEnabled 是否启用SqlMapClient上的缓存机制。 建议设为"true" enhancementEnabled 是否针对POJO启用字节码增强机getter/setter的调用效能,避免Reflect所带来的性能开销。 同时,这也为LazyLoading带来提升。 建议设为"true" errorTracingEnabled 是否启用错误日志,在开发期间建议设为"true"以方便调试 lazyLoadingEnabled 是否启用延迟加载机制,建议设为"true" maxRequests 最大并发请求数(Statement并发数) maxTransactions 最大并发事务数 maxSessions 最大Session数。 即当前最大允许的并发SqlMapClient数。 useStatementNamespaces 是否使用Statement命名空间。 这里的命名空间指的是映射文件中,sqlMap节的namespace属性,如在上例中针对t_use 表的映射文件sqlMap节点: 在useStatementNamespaces="true"的情况下,Statement调用需追加命名空间,如: sqlMap.update("User.updateUser",user); 否则直接通过Statement名称调用即可,如: sqlMap.update("updateUser",user);但请注意此时需要保证所有映射文件中,Statement定义无重名。 transactionManager节点 transactionManager节点定义了ibatis的事务管理器,目前提供了以下几种选择: JDBC 通过传统JDBCCmit/rollback实现事务支持。 JTA 使用容器提供的JTA服务实现全局事务管理。 EXTERNAL 外部事务管理,如在EJB中使用ibatis,通过EJB的部署配置即可实现自 动的事务管理机制。 此时ibatis将把所有事务委托给外部容器进行管理。 dataSource节点 dataSource从属于transactionManager节点,用于设定ibatis运行期使用的DataSource属性。 type属性: dataSource节点的type属性指定了dataSource的实现类型。 可选项目: SIMPLE: SIMPLE是ibatis内置的dataSource实现,其中实现了一个简单的 数据库连接池机制,对应ibatis实现类为 com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory。 DBCP: 基于ApacheDBCP连接池组件实现的DataSource封装,当无容器提 供DataSource服务时,建议使用该选项,对应ibatis实现类为 com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。 JNDI: 使用J2EE容器提供的DataSource实现,DataSource将通过指定 的JNDIName从容器中获取。 对应ibatis实现类为 com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。 dataSource的子节点说明(SIMPLE&DBCP): JDBC.Driver JDBC驱动。 如: org.gjt.mm.mysql.Driver.JDBC.ConnectionURL 数据库URL。 如: jdbc: mysql: //localhost/sample 如果用的是SQLServerJDBCDriver,需要在url后追加SelectMethod=Cursor以获得JDBC事务的多Statement支持。 JDBC.Username 数据库用户名 JDBC.Password 数据库用户密码 Pool.MaximumActiveConnections 数据库连接池可维持的最大容量。 Pool.MaximumIdleConnections 数据库连接池中允许的挂起(idle)连接数。 JNDI由于大部分配置是在应用服务器中进行,因此ibatis中的配置相对简单 分别使用JDBC和JTA事务管理的JDNI配置: 使用JDBC事务管理的JNDIDataSource配置 comp/env/jdbc/myDataSource"/> /ctx/con/UserTransaction"/> comp/env/jdbc/myDataSource"/> sqlMap节点 sqlMap节点指定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ibatis 配置文件 映射 文件 详解
![提示](https://static.bdocx.com/images/bang_tan.gif)