下面这段【xml】文件的代码报错
报错Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 869; The content of elements must consist of well-formed character data or markup.
提给gpt和豆包,返回的错误定位都是,xml中的这句代码
order by updateTime DESC ,createTime DESC
而实际上是@Select注解中的语句有问题,太依赖AI已经没有自己分析问题的能力了 T_T
java
我直接给你精准定位报错位置 + 100% 能解决的方案
你这个报错:
plaintext
SAXParseException; lineNumber: 1; columnNumber: 869;
The content of elements must consist of well-formed character data or markup.
意思是:XML 语法不合法!MyBatis 解析 XML 失败!
你这个 XML 里的真凶只有一个
xml
order by updateTime DESC ,createTime DESC
【xml】
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ctsi.clbx.mapper.SwClBusinessTravelUserMapper">
<select id="queryAllUser" resultType="com.ctsi.clbx.entity.SwClBusinessTravelUser">
select id, user_id userId,user_name userName, id_card_no idCardNo, system_flag systemFlag, create_time createTime,update_time updateTime from SW_CL_BUSINESS_TRAVEL_USER
where deleted = 0
and id_card_no in
<foreach collection="idCarNoSet" item="idCarNo" index="index" open="(" close=")" separator=",">
#{idCarNo}
</foreach>
union all
select id, id userId,real_name userName, ID_CARD_NO idCardNo, 0 systemFlag, create_time createTime,update_time updateTime from cscp_user
where deleted = 0 and status = 1
and ID_CARD_NO in
<foreach collection="idCarNoSet" item="idCarNo" index="index" open="(" close=")" separator=",">
#{idCarNo}
</foreach>
order by updateTime DESC ,createTime DESC
</select>
<select id="queryCscpUserByIdCard" resultType="com.ctsi.clbx.entity.SwClBusinessTravelUser">
select id, user_id, user_name, ID_CARD_NO, system_flag, create_time from SW_CL_BUSINESS_TRAVEL_USER
where deleted = 0
and ID_CARD_NO in
<foreach collection="idCarNoSet" item="idCarNo" index="index" open="(" close=")" separator=",">
#{idCarNo}
</foreach>
</select>
<select id="queryByUserId" resultType="com.ctsi.clbx.entity.SwClBusinessTravelUser">
select id, user_id, user_name, ID_CARD_NO, system_flag, create_time from SW_CL_BUSINESS_TRAVEL_USER
where deleted = 0
and user_id = #{userId} order by update_time DESC ,create_time DESC limit 1
</select>
<select id="queryByIdCardNo" resultType="com.ctsi.clbx.entity.SwClBusinessTravelUser">
select id, user_id, user_name, ID_CARD_NO, system_flag, create_time from SW_CL_BUSINESS_TRAVEL_USER
where deleted = 0
and ID_CARD_NO = #{idCardNo}
</select>
</mapper>