绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
iBatis的文档 - 关于莫名其妙的resultClass属性错误提示
2019-09-17 15:37:37

昨晚,试用iBatis2.3.4,在SQL映射xml中的insert元素中写了resultClass属性,例如:

 

<insert id="putUser" parameterClass="domain.User" resultClass="Object">

INSERT INTO User (name, gender, age) values (#name#, #gender#, #age#)

</insert>

然后运行这条SQL的时候就会报错:

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,但是部份文档还没更新。。。拜托啊大哥,你文档少是一回事,内容还存在这样的错误,再加上莫名其妙的运行时错误提示,新手不知道得浪费多少时间在这些低级错误上啊,哎。。。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

应用开发
创建时间:2020-06-17 15:31:04
应用软件开发是指使用程序语言C#、java、 c++、vb等语言编写,主要是用于商业、生活应用的软件的开发。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~