1、利用Stream将List转化为Map

    Map<String, User> userMap = userList.stream().collect(
    Collectors.toMap(
    User::getName, Function.identity());

2、Mybatis中使用foreach标签配合in查询语句

<if test="sources != null">
    and e.source in
    <foreach item="item" index="index" collection="sources" open="(" separator="," close=")">
        #{item}
    </foreach>
</if>

其中index是指当前迭代的次数,item是指当前迭代的元素,open表示开始的符号,close作为结束的符号,separator表示迭代的间隔符。
需要注意的是:

  1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
  2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
  3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以。

3、在使用like进行模糊查询时,尽量不要吧%放在前面,这样不会走索引。


hushucheng
42 声望2 粉丝