场景:如果是省级账号,可以查询其它省和本省内的所有数据;即可以查看无论哪个权限的所有数据;如果是市级权限,可以查看自己、兄弟以及下属内的所有数据,但不可以查看省级的数据;如果是区级权限,可以查看自己、兄弟以及下属内的所有数据,但是不可以查看市级和省级的数据;如果是油站级,只能查看自己和兄弟,不能查看其它权限的数据。

目标:用mybatis实现

MySQL:

<select id="selectByLimit" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from tb_admin
        <if test="province == null || province == ''">
            where role_id IN(SELECT role_id FROM tb_role)
        </if>
        <if test="province != null">
        where role_id IN(
            SELECT role_id FROM tb_role where 
                   province = #{province,jdbcType=VARCHAR} 
               <if test="city == null || city == ''">
                AND city is not null
            </if>
            <if test="city != null and city != ''">
                AND city = #{city,jdbcType=VARCHAR}
                <if test="partition == null || partition == ''">
                    AND    `PARTITION` is not null
                </if>
                <if test="partition != null">
                    AND    `PARTITION` = #{partition,jdbcType=VARCHAR}
                </if>
            </if>
            )
        </if>
        <if test="start != null and end != null">
            limit #{start,jdbcType=INTEGER},#{end,jdbcType=INTEGER}
        </if>
        order by create_time desc
    </select>

根据省市区查询对应权限下的数据相关推荐

  1. Elasticsearch(ES)数据库模糊查询source下的数据

    Elasticsearch(ES)数据库模糊查询source下的数据: 1.先全部匹配查看一下数据: 查询数据结果如下: 由图可以看到 总共返回数据条数为:4297. 我们根据source下的id 模 ...

  2. hibernate mysql 关联查询_hibernate 查询缓存,以及在关联表查询缓存下使用HQL,而不是sql去查询...

    什么是查询缓存? 也就是如果开启了查询缓存, 在 没有使用二级缓存的情况下,会 缓存第一次查询出来的数据的id. 第二次查询的时候, 如果查询的参数和查询语句没有变化,那么就会使用 第一次查询的出来的 ...

  3. es 查询语法_ES 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?

    点击上方☝SpringForAll社区 轻松关注! 及时获取有趣有料的技术文章 本文来源:http://8rr.co/GFLb 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 e ...

  4. MySql下大数据量级别(1000万+)优化查询和操作方法

    MySql下大数据量级别(1000万+)优化查询和操作方法 一.[原则一]: insert into tb (...) values(...),(...)...; 要比 insert into tb ...

  5. mysql在什么情况下会变成全局查询_Linux下MYSQL数据语言,全局变量,查询

    一.MYQL数据语言 1.数据库语言 SQL语言包括四类种主要程序设计语言类别的语句: 数据定义语言(DDL),例如:CREATE.DROP.ALTER等语句. 数据操作语言(DML),例如:INSE ...

  6. 在vue中使用高德地图的下属省市区查询,实现省市区的联动以及规划范围

    在vue中使用高德地图的下属省市区查询,实现省市区的联动以及规划范围 一.先上效果图 二.高德地图Vue引用 一.先上效果图 二.高德地图Vue引用 1. webpack引入高德 在webpack.b ...

  7. 查询Master下的系统表和系统视图获取数据库的信息和简单的渗透测试

    在SQL中可以通过查询Master下的系统表(sys)和系统视图(information_schema)获取数据库的信息.SQL2000和SQL2005的结构略有不同. 系统表结构参考系统表详细说明. ...

  8. 微服务架构下静态数据通用缓存机制

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 |  my.oschina.net/u/3971241/bl ...

  9. 如何在微服务架构下进行数据设计?

    作者:唐建法 && Mongoing中文社区 来自:http://www.mongoing.com/ 微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微 ...

最新文章

  1. 如何在Android平台下进行Socket通信
  2. linux多核单进程,Linux的在多核处理器3个处理(每个进程在不同的核心上运行)之间共享存储器/ SMP...
  3. python api 示例_Python简单接口测试实例
  4. Navicat Premium试用期破解方法(转)
  5. 华米科技将推出首款真无线耳机 支持降噪还能检测心率?
  6. 收集的材料 关于数据库和抓取器方面的
  7. ubuntu 14.04配置lamp粗略
  8. 【汇编语言】通用数据处理指令——数据传送类指令
  9. 记住没:永远不要在 MySQL 中使用 UTF-8
  10. 联想 G50-70 关闭无线功能,如何重新启动??
  11. >>开发工具:IDEA格式化代码无效
  12. LNMP一键安装的卸载
  13. Excel Spearman相关系数
  14. SLAM 中evo的使用(二) (evaluation of odometry) evo_traj/ape rpe/evo_ape说明与示例
  15. Tableau——制作南丁格尔玫瑰图
  16. 计算机基础使用操作培训ppt,计算机基础操作培训课件ppt课件.ppt
  17. 弱网测试究竟要怎么做,才能防止漏测?
  18. @Value 读取yml 文件
  19. 计算机无法识别平板电脑,平板电脑连接电脑没反应怎么办【图解】
  20. 股市的逻辑-201006

热门文章

  1. Win7远程桌面不能连接的解决方案
  2. Invalid URI
  3. C# hashtable
  4. matlab参考答案2011至诚,职高数学试卷答卷答案详解
  5. html图片渐隐渐显,js实现图片切换效果渐隐渐显
  6. 注册表编辑器厘米爱你找不到mysql,win7系统中安装mysql后找不到服务或出现找不到指定文件的解决方法...
  7. python 爬虫 scrapy 和 requsts 哪个快_Python爬虫:Scrapy研读之Request/Reponse
  8. php数组的值传递给另一个数组,如何把一个固定数组的值传递给另外一个数组
  9. 【机器学习算法专题(蓄力计划)】十九、机器学习中SVM算法代码实操
  10. 三十七、下篇 | tkinter实现一个翻译软件