乐趣区

20190917工作记录

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 进行模糊查询时,尽量不要吧 % 放在前面,这样不会走索引。

退出移动版