ORACLE数据库:
<insert id="batchInsertRoleRMenu" parameterType="java.util.List" >
INSERT INTO QCMS_PUB_ROLE_R_MENU(
MENU_ID,
ROLE_ID
) (
<foreach collection="list" item="item" index="index" separator="UNION ALL">
select
#{item.menuId,jdbcType=NUMERIC},
#{item.roleId,jdbcType=NUMERIC}
from dual
</foreach>
)
</insert>
mybaits等其他数据库:
<insert id="batchInsertRoleRMenu" parameterType="java.util.List" >
INSERT INTO QCMS_PUB_ROLE_R_MENU(
MENU_ID,
ROLE_ID
)VALUES
<foreach collection="list" item="item" index="index" separator="," >
(
#{item.menuId,jdbcType=NUMERIC},
#{item.roleId,jdbcType=NUMERIC}
)
</foreach>
</insert>
本文介绍了一种在ORACLE及其它数据库中批量插入角色菜单权限的方法。通过MyBatis提供的foreach标签实现动态SQL,适用于不同类型的数据库。ORACLE使用UNION ALL避免重复提交相同数据,而其他数据库则直接使用逗号分隔。
457

被折叠的 条评论
为什么被折叠?



