我的一种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/