首先你要了解xml 能用那些标签元素
一般在头部信息中声明
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
http://mybatis.org/dtd/mybatis-3-mapper.dtd 摘要例子
<!ELEMENT insert (#PCDATA | selectKey | include | trim | where | set | foreach | choose | if | bind)*>
意思时 在xml insert 标签中 可以使用元素selectKey | include | trim | where | set | foreach | choose | if | bind
<choose >
<when test="selectname != null">
<foreach collection="selectName" item="itemName" index="idxName" close=") pa LEFT JOIN product_info pi on pa.attribute_id = pi.id " open="(" separator="union">
SELECT attribute_id FROM product_attribute pa WHERE pa.attribute_name = ${itemName}
<foreach collection="selectValue" item="itemValue" index="idxValue" close=")" open="and (" separator="and">
<if test="idxName == idxValue">
attribute_value like concat('%', #{itemValue},'%')
</if>
</foreach>
</foreach>
</when>
<otherwise>
product_info pi
</otherwise>
</choose>
foreach 中
collection —>集合
item -->当前元素
index -->下标
open --> 前缀
close --》后缀
separator --》 拼接值
choose中
when otherwise 想当如 if else
when 中
test 判断条件