博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Attribute "resultClass" must be declared for element type "insert".
阅读量:5320 次
发布时间:2019-06-14

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

iBatis,在SQL映射xml中的insert元素中写了resultClass属性,例如:

insert id="putUser" parameterClass="domain.User" resultClass="Object">
INSERT INTO User (name, gender, age) values (#name#, #gender#, #age#)
/insert>
然后运行这条SQL的时候就会报错:
[color="#000000"]Caused by: org.xml.sax.SAXParseException: Attribute "resultClass" must be declared for element type "insert".
很奇怪,我明明有写resultClass属性啊,怎么出这个错呢?上网查,反复试,看JavaDoc,花了很多时间后才大概找到了真相:must be declared 应该是 must not be declared。。。

OK,我忍。今晚再看着iBatis3的User-Guide,试用iBatis3.0.0.190,照着文档写SQL Map:
select id="getUser" parameterType="Long" resultClass="domain.User">
SELECT * FROM User WHERE id = #{id}
/select>
运行,又出错。。。
Caused by: org.xml.sax.SAXParseException: Attribute "resultClass" must be declared for element type "select".
靠,我可是照着文档写的啊!反复检查了几次,没错啊。但就是有错@_______@
搞来搞去,最后翻User-Guide看后面讲SQL Map的地方,才知道resultClass在iBatis3中已经被换成了resultType,但是部份文档还没更新。。。拜托啊大哥,你文档少是一回事,内容还存在这样的错误,再加上莫名其妙的运行时错误提示,新手不知道得浪费多少时间在这些低级错误上啊,哎。。。

原文链接:

转载于:https://www.cnblogs.com/shhaoran/archive/2013/02/23/2924338.html

你可能感兴趣的文章
第六次java作业
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
tweenlite使用说明
查看>>
java中遍历属性字段及值(常见方法)
查看>>
在AD的环境下,更改计算机名导致TFS,无法连接解决办法
查看>>
Jenkins执行批处理文件失败
查看>>
JAVA 基础坑
查看>>
深入理解jQuery框架-框架结构
查看>>
[7.14NOIP模拟4]通讯 题解 (Tarjan缩点+贪心)
查看>>
刷水记录
查看>>
疫情控制
查看>>
YUI3自动加载树实现
查看>>
String类中的toUpperCase()和toLowerCase()方法
查看>>
python知识思维导图
查看>>
IIS建网站以及建FTP
查看>>
当心JavaScript奇葩的逗号表达式
查看>>
@修饰符--python中的装饰器
查看>>
新工具
查看>>