我有:
<delete id="deleteTaskScheduling" parameterType="List">
DELETE FROM ct_task_scheduling WHERE taskid IN
<foreach collection="list" item="taskid" open="(" close=")" index="index" separator=",">
#{taskid}
</foreach>
</delete>
和我的POJO有任务
@Data
@NoArgsConstructor
public class TaskDTO implements Serializable {
private String taskid;
...
}
,我正在传递TaskDTO的列表到接口:
List <TaskDTO> taskDTOs = new ArrayList <> ();
...
taskDAO.deleteTaskScheduling(taskDTOs);
但是我得到了这个异常:
. lang。在属性'__frch_taskid_0'的参数映射上,类型处理程序为空。没有指定和/或找不到javaType (com.mycompany.DTO.TaskDTO): jdbcType (null)组合。有根本原因
有人能帮帮我吗?由于
在<foreach />
中,item
中指定的变量代表列表中的每个元素,在您的示例中是TaskDTO
。
<delete id="deleteTaskScheduling">
DELETE FROM ct_task_scheduling WHERE taskid IN
<foreach collection="list" item="x" open="(" close=")" separator=",">
#{x.taskid}
</foreach>
</delete>
请阅读文档了解详细信息。https://mybatis.org/mybatis-3/dynamic-sql.html # foreach