Mybatis中传入Map嵌套List
Mybatis作为现如今最流行的ORM框架之一,在开发一些规模不大的的系统中,有着举足轻重的作用。在这里我给大家讲的是Mybatis传入Map嵌套List的一个案例。
首先定义一个参数类型为HashMap<Integer,List>的Map。
HashMap<Integer,List> role_permission_map = new HashMap<>();
List<Integer> permissionList = new ArrayList<>();
for (String permissionId : permissionIds) {
permissionList.add(Integer.parseInt(permissionId));
}
role_permission_map.put(Integer.parseInt(roleId),permissionList);
Integer rolePermission_result = roleService.addPermissionToRole(role_permission_map);
Mapper代码如下:(第一次遍历为取出map集合的key与value,第二次是遍历value,因为value是list集合)
<insert id="addPermissionToRole" parameterType="map">
INSERT INTO sw_role_permission (roleId, permissionId) VALUES
<foreach collection="_parameter.entrySet()" index="key" separator="," item="value">
<foreach collection="value" item="permissionId" separator=",">
(#{key},#{permissionId})
</foreach>
</foreach>
</insert>