0x01、元素内容必须由格式正确的字符数据或标记组成。

Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 26; columnNumber: 23; 元素内容必须由格式正确的字符数据或标记组成。

原因是:mybatis查询的时候,需要用到运算符 小于号:< 和 大于号: >,在mybatis配置文件里面,这种会被认为是标签,所以解析错误
解决方法

<![CDATA[ 部分容易解析错误的sql语句 ]]>

0x02、通过MyBatis将多条记录存到HashMap中并返回

方法一、新建一个Dto类,返回List

方法二、返回List<Map<Objectg,Object>>
MyBatis代码

<select >
		select id,nickname from user
		where id in
		<foreach collection="userIds"  open="(" close=")" separator="," item="userId"  >
			#{userId}
		</foreach>
</select>

Java代码

 Map<String, String> nickNameMap = Maps.newHashMap();
            List<Map<String, String>> usernameMap = userDao.findUsersNickName(userIdSet);
            for (Map<String, String> map : usernameMap) {
                nickNameMap.put(map.get("id"), map.get("nickname"));
            }

关于作者

后端程序员,五年开发经验,从事互联网金融方向。技术公众号「清泉白石」。如果您在阅读文章时有什么疑问或者发现文章的错误,欢迎在公众号里给我留言。

业务开发(六)—— MyBatis框架

相关文章: