我的一种XML中具有以下相当基本的映射:

<select id="getUserAuthorities" parameterType="string" resultMap="resultGetUserAuthorities">
    SELECT AUTHORITY FROM BASIC_AUTHORITIES
    WHERE UPPER(USERNAME) = UPPER(#{username})
        AND (EXPIREDTADSTP IS NULL OR TRUNC(EXPIREDTADSTP) < SYSDATE)
</select>


通过上述映射,我的应用程序服务器在创建映射器的过程中在容器启动(Spring)时失败,并显示以下错误:


调用init方法失败;嵌套异常是java.lang.IllegalArgumentException:org.apache.ibatis.builder.BuilderException:创建文档实例时出错。原因:org.xml.sax.SAXParseException:元素的内容必须包含格式正确的字符数据或标记。


似乎在sysdate上失败了,好像我删除了


或TRUNC(EXPIREDTADSTP)

然后就可以了

MyBatis是否不支持Oracle SYSDATE字段?

最佳答案

问题是您的XML中没有未转义的小于号。

关于java - MyBatis未在映射文件中使用Oracle SYSDATE加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14006423/

10-10 23:54