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

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 id="findUsersNickName" resultType="java.util.HashMap">
		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"));
            }
原文地址:https://www.cnblogs.com/fonxian/p/5967165.html