ifnull(查询语句,默认值):就是若查询语句查询的结果为空,则返回默认值!
<!-- 新增菜单,两个要求:
一、name不能重复
二、排序(order_num)取父节点下所有菜单节点排序的最大值加1,保证新增的菜单总是排在父节点下最前-->
<insert id="insertMenu" parameterType="Menu" keyProperty="id" useGeneratedKeys="true">
INSERT INTO sys_menu(`name`,url,parent_id,order_num)
SELECT #{name},#{url},#{parentId},
ifnull((SELECT max(order_num) +1 FROM sys_menu WHERE parent_id=#{parentId}),1)
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE `name`=#{name})
</insert>