Mybatis嵌套foreach的坑

今天用xml写sql出现问题,mapper入参为集合,其中要获取集合中每个元素的某个属性,这个属性也是个集合。

本来按照以前foreach写法,给集合项取个变量名,直接用这个变量名.属性名即可,但如果属性为集合好像就会报错。

错误代码示例:


       

            and ttask.fcreatetime > #{task.createtime[0]}

            and ttask.fcreatetime < #{task.createtime[1]}

       

   

修改为直接指定可以解决此问题。

正确代码示例:


       

            and ttask.fstarttime > #{taskList[${i}].starttime[0]}

            and ttask.fstarttime < #{taskList[${i}].starttime[1]}

       

   

你可能感兴趣的:(Mybatis嵌套foreach的坑)