Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1286
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2018-12-14 10:28
文章分类
文章存档

2018年(1)

我的朋友
最近访客

分类: Java

2018-12-14 10:28:48

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

阅读(513) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~