最近遇到了一个关于mybatis的问题,是使用foreach时导致的问题。报错提示:‘The expression ‘XXX’ evaluated to a null value…’。解决问题的同时也发现了对知识点的一知半解,平时只是用,并没有对知识点进行细究。

常见的foreach样式
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">#{item}</foreach>

在使用foreach的时候,collection属性往往是最容易出错的,在不同情况下,该属性需要设置不同的值,如果不知道这点,就容易出错。

主要有以下3种情况:

  • 当传入的是单参数且参数类型是一个List的时候,collection属性值要写死为list,collection="list"
  • 当传入的是单参数且参数类型是一个array数组的时候,collection的属性值要写死为array,collection="array"
  • 当传入的参数是一个Map类型时,collection属性的值是你传递的Map中,List或array对象对应的key的名称,可以任意指定名称。
------------本文结束感谢您的阅读------------
Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐