mysql查询Mybatis查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql查询Mybatis查询相关的知识,希望对你有一定的参考价值。
条件:permission_id = 113结果集:permission_id【111,112,113,114,115】。1、mysql可不可以实现?可以的话,如何sql如何写?【贴sql】(我现有的mysql知识量·····)2、如果借助第三方(Mybatis),如何效率更高。【贴代码】0:根节点 说明:113节点存在(114、115)两个子节点,同时存在(112)父节点,112节点同时存在111节点
参考技术A 1、mysql肯定可以实现2、树形结构的实现其实很简单的,建议你看下ztree的官方api,你只需要按照数据结构递归查询出父子节点的数据即可
3、mybatis是java中实现的方式了,至于你想怎么优化,最后都是递归查询父子节点的数据 参考技术B select * from 表名 where left(permission_code,3)=(select left(permission_code,3) from 表名 where permission_id=113);本回答被提问者采纳 参考技术C Spring boot+mybatis+mysql实现数据批量查询,我们在构建WEB应用时,往往是需要查询后台数据库的表记录,查询按返回结果类型追问
你这是什么???
参考技术D这个考虑异步树的加载方式,把permission_id 作为 parent_id一层层查:
默认查询parent_id=0的节点,有111和116。
select * from 表名 where parent_id=0
2. 点击展开111节点时,把111作为parent_id传到后台查询,结果集为112。
select * from 表名 where parent_id=111
3. 点击展开112节点时,把112作为parent_id传到后台查询,结果集为113。
select * from 表名 where parent_id=112
4. 点击展开113节点时,把113作为parent_id传到后台查询,结果集为114和115。
select * from 表名 where parent_id=113
----------------------------------------------------------------------------------------
以上是一种方法,还有一种方法是根据permission_code结构查询,permission_code的结构为3|3|3|3,即3位为一个层级的节点。
比如第一层节点permission_code为001和002。
001的下一层为permission_code是6位并且模糊查询001%,如select * from 表名 where length(permission_code) = 6 and permission_code like ‘001%’
同理第三层为permission_code是9位,并且模糊查询父节点permission_code开头(例如:like ‘001001%’)的数据。
以上是关于mysql查询Mybatis查询的主要内容,如果未能解决你的问题,请参考以下文章