当前位置: 首页 > 知识库问答 >
问题:

MyBatis/Ibatis错误:元素类型“update”的内容必须匹配

陶胤运
2023-03-14

我们更新了几行,更新行后,我们希望返回受影响的行数。我们将xml文件编写如下

<update id="update" parameterClass="com.test.Delete">
        update entity_association set deleted = 1, syncTS = #syncTS# where
        assoc_entity_row_id in
        <iterate property="parentIds" open="(" close=")" conjunction=",">
            #parentIds[]#
        </iterate>
        and assoc_entity_type = #parentType#;
        <selectKey resultClass="int">
            select row_count()
        </selectKey>
    </update>

对于返回受影响的行数计数,当我们添加selectKey标记时,我们会得到错误“元素类型“update”的内容必须匹配”(包括|动态|迭代| isParameterPresent | isNotParameterPresent | isEmpty | isNotEmpty | isNotNull | isNotEqual | isEqual | isGreaterEqual | isLessEqual | isLessEqual | isPropertyAvailable |124; isNotPropertyAvailable)“。

有没有更好的方法来实现这一点?selectKey标签可以很好地插入。

共有2个答案

麻鸿熙
2023-03-14

找到了一个使其工作的方法。我们将更新查询包含在标签中并返回被触摸的行数。

郎宏浚
2023-03-14

我认为dtd模式验证器导致了这个错误。根据您的版本mybatis/ibatis,您可以使用不同的dtd模式。请在映射器namespace中的schemas规则中进行检查=我使用了dtd schema,并使用foreach进行了更新,选择关键字效果良好。

 类似资料: