博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ibatis 配置问题
阅读量:4330 次
发布时间:2019-06-06

本文共 2628 字,大约阅读时间需要 8 分钟。

 用到ibatis 出现Attribute "parameterClass" must be declared for element type "sql". 报错 

原应是把ibatis SqlMapConfig.xml 搞错了

 

 
< sqlMapConfig > < settings cacheModelsEnabled ="true"
enhancementEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="true"/>
< transactionManager type ="JDBC" >
< dataSource type ="SIMPLE" >
< property name ="JDBC.Driver" value ="com.mysql.jdbc.Driver" /> < property name ="JDBC.ConnectionURL" value ="jdbc:mysql://localhost/test" /> < property name ="JDBC.Username" value ="root" /> < property name ="JDBC.Password" value ="wyq" /> < property name ="Pool.MaximumActiveConnections" value ="10"/>
< property name ="Pool.MaximumIdleConnections" value ="5" />
< property name ="Pool.MaximumCheckoutTime" value ="120000" />
< property name ="TimeToWait" value ="500" />
< sqlMap resource ="com/wyq/map/userMap.xml" />

 

关于 < transactionManager type ="JDBC" > <!-- 定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL) -->

transactionManagerab 定义了ibatis的事务管理器,目前提供了以下几种选择:

1)  JDBC  通过传统JDBC Connection.commit/rollback实现事务支持.
2)  JTA   使用容器提供的JTA服务实现全局事务管理.
3)  EXTERNAL  外部事务管理,如在EJB中使用ibatis,通过EJB的部署配置即可实现自动的事务管理机制.此时ibatis将把所有事务委托给外部容器进行管理.此外,通过Spring等轻量级容量实现事务的配置化管理也是一个不错的选择. 

 JTA,即Java Transaction API,译为Java事务API。   JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。

 

关于 < dataSource type ="SIMPLE" > <!-- type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI) --> 

 

dataSource 从属于 transactionManager, 用于设定ibatis运行期使用DataSource

 type 属性: dataSource 元素的 type 属性指定了 dataSource 的实现类型.可选项目:
1)  SIMPLE:
SIMPLE 是 ibatis 内置的 dataSource 实现,其中实现了一个简单的数据库连接池机制,对应 ibatis 实现类为com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory.
JDBC 使用 数据库自己的事务(局部事务),connect.beginTranstion(), connect.commit()等.
2)  DBCP
于Apache DBCP连接池组件实现的DataSource封装,当无容器提供DataSource服务时,建议使用该选项,对应ibatis实现类为
com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory.
JTA : 使用jta 事务管理器管理事务(全局事务),使用userTranstion对象.
3)  JNDI
使用J2EE容器提供的DataSource实现, DataSource将通过指定的JNDI Name从容器中获取.对应ibatis实现类为
com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory.
Ibatis 不控制事务,事务交由外部控制,一般在CTM,或spring托管事务中使用.
JNDI的配置大部分都在应用服务器中进行,所以在ibatis中的配置相对简单

关于ibatis中simple,dbcp,jndi的区别

 

可以参考:http://blog.csdn.net/zhangweikai966/article/details/6318822

 

转自:http://xulongfa.iteye.com/blog/422832

转载于:https://www.cnblogs.com/bambomtan/p/4525741.html

你可能感兴趣的文章
Ecust OJ
查看>>
P3384 【模板】树链剖分
查看>>
Thrift源码分析(二)-- 协议和编解码
查看>>
考勤系统之计算工作小时数
查看>>
4.1 分解条件式
查看>>
Equivalent Strings
查看>>
flume handler
查看>>
收藏其他博客园主写的代码,学习加自用。先表示感谢!!!
查看>>
H5 表单标签
查看>>
su 与 su - 区别
查看>>
C语言编程-9_4 字符统计
查看>>
在webconfig中写好连接后,在程序中如何调用?
查看>>
限制用户不能删除SharePoint列表中的条目(项目)
查看>>
【Linux网络编程】使用GDB调试程序
查看>>
feign调用spring clound eureka 注册中心服务
查看>>
ZT:Linux上安装JDK,最准确
查看>>
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
C#检测驱动是否安装的问题
查看>>