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%’)的数据。

第5个回答  2019-07-05 这个是树形结构的查询某一子节点下的所有节点id

以上是关于mysql查询Mybatis查询的主要内容,如果未能解决你的问题,请参考以下文章

statement/mybatis操作mysql普通查询;游标查询;流式查询

mybatis连接mysql的模糊查询,查询出来为空

Mybatis和Mysql的查询语句一样吗?

Mybatis + mysql 实现两级级联的查询

MySQL和mybatis查询相关

Mybatis查询mysql延时加载操作 (18)