Mybatis需要注意的地方及知识点

1.SQL中有特殊字符
当SQL中有特殊字符<,mybatis不能正常解析时,用<![CDATA[??]]>括起来就解决了

<![CDATA[ and age<=#{age} ]]>

2.#和$取值的区别

3.Mybatis中的foreach,用于批量操作,批量进行CRUD,集合参数有三种用法:数组,map,list

<?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">
<!-- 映射文件
   namespace命名空间,mapper的唯一标志
-->
<mapper namespace="ForEachMapperNS">
   <!-- 声明SQL片段 -->
   <sql id="columns">
      id,name,addr,age
   </sql>
   **<!-- 批量查询,数组形式 -->**
   <select id="foreachmap" resultType="User">
      select
         <include refid="columns"/>
      from user
      <where>
         id in (
            <!-- foreach遍历数据
                collection="array":数组中的
                separator=",":分隔符号
                item="o":每次获取到的数据的别名
             -->
            <foreach colle
原文地址:https://www.cnblogs.com/szls-666/p/12494145.html