作业开销(六)—— MyBatis框架

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

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

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

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

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

艺术一、新建一个Dto类,重回List

方法二、返回List

<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"));
            }
网站地图xml地图