Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147276
  • 博文数量: 20
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-27 18:42
文章分类

全部博文(20)

文章存档

2011年(1)

2010年(1)

2009年(2)

2008年(16)

我的朋友

分类: Java

2009-08-27 23:23:19

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

阅读(9999) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2010-11-14 23:49:55

同感,试用了mybatis3,不用不知道,一用,我靠,我操,操操操,真他妈的烂啊,低级啊,从没见过如此烂的程序,唉。。。。离开了apache也不至于这么垃圾吧,我实在忍无可忍,决定使用ibatis2,永远不提mybatis