mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-11-04 10:57:10 +08:00 
			
		
		
		
	优化:优化 SQL 语句风格
1.MySQL数据库>SQL语句>第10条: 【推荐】SQL 语句中表的别名前加 as,并且以 t1、t2、t3、...的顺序依次命名。 说明: 1)别名可以是表的简称,或者是依照表在 SQL 语句中出现的顺序,以 t1、t2、t3 的方式命名。 2)别名前加 as 使别名更容易识别。 正例:select t1.name from first_table as t1 , second_table as t2 where t1.id = t2.id 个人理解:使用 t1、t2、t3... 的表别名命名方式,在很多类似业务查询的场景会更方便复用;使用 AS 而不是 as 更容易阅读。
This commit is contained in:
		@@ -2,27 +2,27 @@
 | 
			
		||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 | 
			
		||||
<mapper namespace="top.charles7c.cnadmin.system.mapper.MenuMapper">
 | 
			
		||||
    <select id="selectPermissionByUserId" resultType="java.lang.String">
 | 
			
		||||
        SELECT DISTINCT m.`permission`
 | 
			
		||||
        FROM `sys_menu` as m
 | 
			
		||||
            LEFT JOIN `sys_role_menu` as rm ON rm.`menu_id` = m.`id`
 | 
			
		||||
            LEFT JOIN `sys_role` as r ON r.`id` = rm.`role_id`
 | 
			
		||||
            LEFT JOIN `sys_user_role` as sur ON sur.`role_id` = r.`id`
 | 
			
		||||
            LEFT JOIN `sys_user` as u ON u.`id` = sur.`user_id`
 | 
			
		||||
        WHERE u.`id` = #{userId}
 | 
			
		||||
          AND m.`type` IN (2, 3)
 | 
			
		||||
          AND m.`status` = 1
 | 
			
		||||
          AND r.`status` = 1
 | 
			
		||||
        SELECT DISTINCT t1.`permission`
 | 
			
		||||
        FROM `sys_menu` AS t1
 | 
			
		||||
            LEFT JOIN `sys_role_menu` AS t2 ON t2.`menu_id` = t1.`id`
 | 
			
		||||
            LEFT JOIN `sys_role` AS t3 ON t3.`id` = t2.`role_id`
 | 
			
		||||
            LEFT JOIN `sys_user_role` AS t4 ON t4.`role_id` = t3.`id`
 | 
			
		||||
            LEFT JOIN `sys_user` AS t5 ON t5.`id` = t4.`user_id`
 | 
			
		||||
        WHERE t5.`id` = #{userId}
 | 
			
		||||
          AND t1.`type` IN (2, 3)
 | 
			
		||||
          AND t1.`status` = 1
 | 
			
		||||
          AND t3.`status` = 1
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="selectListByUserId" resultType="top.charles7c.cnadmin.system.model.entity.MenuDO">
 | 
			
		||||
        SELECT m.*
 | 
			
		||||
        FROM `sys_menu` as m
 | 
			
		||||
            LEFT JOIN `sys_role_menu` as rm ON rm.`menu_id` = m.`id`
 | 
			
		||||
            LEFT JOIN `sys_role` as r ON r.`id` = rm.`role_id`
 | 
			
		||||
            LEFT JOIN `sys_user_role` as sur ON sur.`role_id` = r.`id`
 | 
			
		||||
            LEFT JOIN `sys_user` as u ON u.`id` = sur.`user_id`
 | 
			
		||||
        WHERE u.`id` = #{userId}
 | 
			
		||||
          AND m.`status` = 1
 | 
			
		||||
          AND r.`status` = 1
 | 
			
		||||
        SELECT t1.*
 | 
			
		||||
        FROM `sys_menu` AS t1
 | 
			
		||||
            LEFT JOIN `sys_role_menu` AS t2 ON t2.`menu_id` = t1.`id`
 | 
			
		||||
            LEFT JOIN `sys_role` AS t3 ON t3.`id` = t2.`role_id`
 | 
			
		||||
            LEFT JOIN `sys_user_role` AS t4 ON t4.`role_id` = t3.`id`
 | 
			
		||||
            LEFT JOIN `sys_user` AS t5 ON t5.`id` = t4.`user_id`
 | 
			
		||||
        WHERE t5.`id` = #{userId}
 | 
			
		||||
          AND t1.`status` = 1
 | 
			
		||||
          AND t3.`status` = 1
 | 
			
		||||
    </select>
 | 
			
		||||
</mapper>
 | 
			
		||||
@@ -2,14 +2,11 @@
 | 
			
		||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 | 
			
		||||
<mapper namespace="top.charles7c.cnadmin.system.mapper.RoleMenuMapper">
 | 
			
		||||
    <select id="selectMenuIdByRoleIds" resultType="java.lang.Long">
 | 
			
		||||
        SELECT
 | 
			
		||||
            `menu_id`
 | 
			
		||||
        SELECT `menu_id`
 | 
			
		||||
        FROM `sys_role_menu`
 | 
			
		||||
        <where>
 | 
			
		||||
            `role_id` IN
 | 
			
		||||
            <foreach collection="list" item="roleId" open="(" close=")" separator=",">
 | 
			
		||||
                #{roleId}
 | 
			
		||||
            </foreach>
 | 
			
		||||
        </where>
 | 
			
		||||
        WHERE `role_id` IN
 | 
			
		||||
        <foreach collection="list" item="roleId" open="(" close=")" separator=",">
 | 
			
		||||
            #{roleId}
 | 
			
		||||
        </foreach>
 | 
			
		||||
    </select>
 | 
			
		||||
</mapper>
 | 
			
		||||
		Reference in New Issue
	
	Block a user