基于Mybatis-Plus封装的多表关联查询器

本文介绍了一个基于Mybatis-Plus封装的多表关联查询器,该查询器实现了无需写XML、链式调用、Lambda表达式等功能,并支持多种JOIN类型和分页查询。然而,它可能存在代码SQL不如XML直观、使用初期较复杂等问题。文章还讨论了未来可能的改进方向,如内置SQL函数、支持子查询等。
摘要由CSDN通过智能技术生成

基于Mybatis-Plus封装的多表关联查询器,优雅且美好

github地址:https://github.com/SuyunGit/mybatis-plus-join
gitee地址:https://gitee.com/suyungit/mybatis-plus-join

为了解决简单的多表查询而生,避免编辑mapper.xml文件的尴尬,无需过多的配置,多行链式调用一撸到底

它具备哪些特点呢?
    1. 最重要的就是不需要再写xml了
    1. 再就是全部可以使用链式调用,基于JDK8的Lambda表达式
    1. 再次解放双手,字段的查询和字段条件的设置可以全部使用函数式
    1. 本身查询返回的是Map对象,同时内置Map转实体对象
    1. 可以进行分页查询
    1. 只要你愿意,关联100个表都没问题
    1. 查询的字段支持自定义别名
    1. 支持JOIN,INNER JOIN,CROSS JOIN,LEFT JOIN,RIGHT JOIN;当然也支持WHERE JOIN
    1. 提供返回完整SQL语句的函数
    1. 内置条件值的自动判空函数
    1. 支持多租户和逻辑删除配置
    1. 支持开启DISTINCT关键字
    1. IN SQL和NOT IN SQL优化,传入参数元素数量为1,自动转为等于或不等于
它的缺点
    1. 可能代码式的SQL不如xml式的SQL更直观
    1. 刚开始使用可能会觉得麻烦
    1. 不熟悉Lambda的人可能觉得使用起来会不爽
    1. WHERE关联和JOIN关联可以混搭,但会有先后关连顺序的问题
    1. 无法完美支持子查询,子查询代码片段需要手动apply
    1. 无法完美支持SQL函数,需要调用SQL函数,只能手动了
    1. 其它更多问题有待发现…
预想实现
    1. 首先是内置常用SQL函数
    1. 想方设法的友好支持子查询
    1. 支持关联到指定表
    1. 支持SQL优化
    1. 暂时就想到这么多
如何使用
  1. 第一步,先下载代码,可以直接把代码集成到项目中去,也可以打包添加到项目依赖中(注意mybatis-plus版本需要在3.4.0以上,JDK版本需要在1.8以上)
  • 大家也可以用我发布的包,目前发布的都是SNAPSHOT,暂时是1.0版本,有时间我会多测试修改并发布
  • 仓库地址:http://nexus.sigment.cn/repository/maven-group-xgkeeper/
  • <dependency>
        <groupId>org.join.plus
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值