luodangjia
2024-04-28 94e9dc3adb80baf6e1d7d56e54a93917996bc339
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.stylefeng.roses.kernel.system.modular.menu.mapper.SysMenuMapper">
 
    <!--获取一些菜单的统计信息(只返回名称,路径,图标)mysql-->
    <select id="getMenuStatInfoByMenuIds" resultType="cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu">
        select menu_name as menuName, antdv_icon as antdvIcon , antdv_router as antdvRouter from sys_menu menu
        <where>
            <if test="menuIds != null and menuIds.size() > 0">
                menu.menu_id in
                <foreach item="item" collection="menuIds" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
        </where>
        order by field(menu_id,
        <foreach item="item" collection="menuIds" index="index" open="" separator="," close=")">
            #{item}
        </foreach>
    </select>
 
    <!--获取一些菜单的统计信息(只返回名称,路径,图标)oracle版本-->
    <select id="getMenuStatInfoByMenuIds" resultType="cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu" databaseId="oracle">
        select menu_name as menuName, antdv_icon as antdvIcon , antdv_router as antdvRouter from sys_menu menu
        <where>
            <if test="menuIds != null and menuIds.size() > 0">
                menu.menu_id in
                <foreach item="item" collection="menuIds" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
        </where>
        order by instr(
        <foreach item="item" collection="menuIds" index="index" open="'" separator="," close="'">
            ${item}
        </foreach>,menu_id)
    </select>
 
    <!--获取一些菜单的统计信息(只返回名称,路径,图标)pgsql版本-->
    <select id="getMenuStatInfoByMenuIds" resultType="cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu" databaseId="pgsql">
        select menu_name as menuName, antdv_icon as antdvIcon , antdv_router as antdvRouter from sys_menu menu
        <where>
            <if test="menuIds != null and menuIds.size() > 0">
                menu.menu_id in
                <foreach item="item" collection="menuIds" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
        </where>
        order by case menu_id
        <foreach item="item" collection="menuIds" index="index" open="" separator="," close="">
            when ${item} then ${index}
        </foreach>
        end
    </select>
 
    <!--获取一些菜单的统计信息(只返回名称,路径,图标)sql server版本-->
    <select id="getMenuStatInfoByMenuIds" resultType="cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu" databaseId="mssql">
        select menu_name as menuName, antdv_icon as antdvIcon , antdv_router as antdvRouter from sys_menu menu
        <where>
            <if test="menuIds != null and menuIds.size() > 0">
                menu.menu_id in
                <foreach item="item" collection="menuIds" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
        </where>
        order by charindex(CAST(menu_id AS VARCHAR),
        <foreach item="item" collection="menuIds" index="index" open="'" separator="," close="'">
            ${item}
        </foreach>
        )
    </select>
 
</mapper>