Mapper.xml中参数是数组、集合的情况:
- 数组:(举例传参为 Integer[]数组)
<select id="selectByConditions" resultMap="ResultMap" parameterType="Integer[]">
select
<include refid="Base_Column_List"/>
from hmb_logs where 1 = 1
<if test="array !=null and array.length >0 ">
<foreach collection="array" open=" and id in(" close=")" item="personNo" separator=",">
#{personNo}
</foreach>
</if>
</select>
- 集合:(举例传参为 Map集合)
<select id="selectBy" resultMap="ResultMap" parameterType="hashmap">
select
<include refid="Base_Column_Lists"/>
from logs_key
<where>
<include refid="query_selectBy"></include>
</where>
</select>
<sql id="query_selectBy">
<if test="orderNo!=null">
and orderNo=#{orderNo}
</if>
<if test="Phone!=null">
and Phone=#{Phone}
</if>
</sql>
参考这个👇
http://www.javashuo.com/article/p-mdypxiwg-es.html
❀❀❀❀❀❀
后来还是写了map里存数组:
<select id="selectByConditions" resultMap="ResultMap" parameterType="hashmap">
select
<include refid="Base_Column_List"/>
from hmb_logs
<where>
<include refid="query_logs"></include>
</where>
</select>
<sql id="query_logs">
<if test="igs!=null">
and id in
<foreach collection="igs" item="ig" separator=","
open="(" close=")">
#{ig}
</foreach>
</if>
</sql>
传的参数是这样的:
Map<String,Object> hlMap = new HashMap<>();
Integer[] igs = new Integer[3];
hlMap.put(“igs”,igs);