`

Attribute "resultClass" must be declared for element type "insert".

阅读更多

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

 

 

原文链接:http://blog.chinaunix.net/u1/39889/showart_2039174.html

分享到:
评论

相关推荐

    ibatis与spring的整合

    在整合iBATIS和Spring的过程中,主要目标是利用Spring的IOC(Inversion of Control)容器来管理和协调数据访问层(DAO)以及事务处理,同时利用iBATIS作为SQL映射框架,提供灵活的数据库操作。以下将详细阐述整合的...

    Tomcat ssl报错Connector attribute SSLCertificateFile must be defined when using SSL with APR解决方法

    主要介绍了Tomcat ssl报错Connector attribute SSLCertificateFile must be defined when using SSL with APR解决方法,需要的朋友可以参考下

    python_elementt_xml.zip_python xml_xml解析 python

    attribute_value = element.attrib['attribute_name'] ``` 4. **元素文本**:元素的文本内容可以通过`text`属性获取。 ```python text_content = element.text ``` 5. **创建和修改元素**:`ElementTree`也...

    Selenium WebDriver 学习笔记

    - 结合属性定位:`driver.findElement(By.cssSelector("[attribute='value']"));` - **使用XPath** - 示例:`driver.findElement(By.xpath("//div[@id='someId']/child::span"));` #### 六、多元素定位 使用 **...

    使用dom4j读写XML文档

    String text = attribute.getText(); // 或者 String text2 = rootElm.element("name").attributeValue("firstname"); ``` - 遍历某节点的所有属性: ```java for (Iterator it = rootElm.attributeIterator...

    AttributeError: module 'tensorflow.compat.v1' has no attribute '

    AttributeError: module 'tensorflow.compat.v1' has no attribute 'contrib'的问题您具体怎么解决问题具体解决的seq_loss.py文件

    must-forceinline-function-code.md

    GCC提供了`__attribute__((always_inline))`这一扩展属性来实现强制内联。当一个函数被声明为具有此属性时,无论函数的大小或者调用频率如何,编译器都会尝试将其内联化。如果无法内联,则会在编译时产生警告信息。 ...

    简单计算器的代码

    【标题】"简单计算器的代码"涉及的是创建一个基本的计算器应用,这通常是一个初学者在学习iOS开发时会遇到的项目。这个项目的核心在于理解用户界面(UI)的构建和事件处理,以及如何通过代码实现数学计算逻辑。...

    解决Python中报错TypeError: must be str, not bytes问题

    ### 解决Python中报错TypeError: must be str, not bytes问题 #### 一、问题背景与常见场景 在Python编程过程中,尤其是处理文件操作时,可能会遇到“TypeError: must be str, not bytes”这一错误。这通常发生在...

    Dundas.Chart.for.Winform.Enterprise.v7.1.0.1812.for.VS2008

    Vertical Column Labels - A new attribute for 2D column charts, labels can now be painted vertically inside the column, adding greater flexibility when considering labels Data Point Label Offset ...

    Prototype Cheat Sheet

    - **`readAttribute(element, attribute)`**: Reads the value of an attribute on an element. - **`recursivelyCollect(element, property)`**: Recursively collects values of a property from an element and ...

    java api 文档 jdk9

    A - Static variable in class javax.print.attribute.standard.MediaSize.Engineering Specifies the engineering A size, 8.5 inch by 11 inch. A - Static variable in class javax.print.attribute.standard....

    jquery常见事件.txt

    - `$("element").removeAttr("attribute");` 删除指定元素的指定属性。 #### `removeClass()` - **用途**:删除匹配元素的一个或多个类。 - **示例**: - `$("element").removeClass("class");` 从所有指定元素...

    jQuery常用方法jQuery常用方法

    - **removeAttr(attribute)**: 移除指定的属性,例如:`$("element").removeAttr("attribute");` - **removeClass(className)**: 移除一个或多个类名。例如:`$("element").removeClass("class");` - **html()**: ...

    jQuery 之入门基本介绍

    - 获取属性值:`var value = $("#element").attr("attributeName")` - 设置属性值:`$("#element").attr("attributeName", "newValue")` 2. **文本操作**: - 获取文本:`var text = $("#element").text()` - ...

    JQuery函数大全

    - 示例:`$("element").removeAttr("attribute");` - 功能:移除被选元素指定的属性。 ##### 5. **移除类名** - **`$(selector).removeClass(className)`** - 示例:`$("element").removeClass("class");` - ...

    Java操作xml

    for (Element child : childElements) { // 处理每个匹配的child元素 } ``` 在实际应用中,通常需要先读取XML文件到内存,然后进行操作,最后将修改后的文档写回文件。以下是一个完整流程的示例: ```java // ...

    attribute_用法_section_部分.doc

    attribute_用法_section_部分.doc

Global site tag (gtag.js) - Google Analytics