当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Mybatis-Link

Mybatis Plus 的增强工具
授权协议 Apache
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 宋志学
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Mybatis Link是一个 Mybatis Plus 的增强工具,在Mybatis Plus的基础上进行了增强,主要解决一对一、一对多等多表联查,以及允许分布式应用远程调用和优化问题,从而达到敏捷开发的目的,实现零SQL编写。

特性

  • 无侵入: 在Mybatis Plus基础上做了增强,继承了强大的MP特性,配置方式也是一样。
  • CRUD操作: 通过改造升级,内置通用 Dao、通用 Mgr,实现表单基础的CRUD操作。
  • 多表联查操作: 内置了注解@Link类,用在 Dao 方法上,可以实现一对一连表查询(包括左连接、右连接、内连接),一对多连表查询。

零SQL:

采用注解的方式支持连表查询,满足大多数项目连表要求,可以实现零SQL编写。

连表查询示例:

更多连表示例:https://easy4use.cn/guide/link-search.html

/**
 * a 内连 c
 * a表的c_id字段,与c表中的id主键字段,进行连表查询。
 */
@Link(ones = { @OneToOne(leftColumn = "c_id", rightClass = TestCVo.class) })
List<TestADto> listTestAATestC(@Param(Constants.WRAPPER) Wrapper<TestAVo> wrapper);

/**
 * a 左连 b
 */
@Link( ones = { 
    @OneToOne(leftColumn = "b_id", rightClass = TestBVo.class, 
        joinType = JoinType.LEFT, onArgName = "abOn") })
List<TestADto> listTestALtTestB(@Param(Constants.WRAPPER) Wrapper<TestAVo> wrapper);

/**
 * a 一对多 b
 */
@Link( manys = { 
    @OneToMany(leftColumn = "b_id", rightClass = TestBVo.class, 
        ofTypeClass = TestBDto.class, property = "testBList") })
List<TestADto> listTestAWTestB(@Param(Constants.WRAPPER) Wrapper<TestAVo> wrapper);

配置:

mybatis-plus:
  typeAliasesPackage: yui.bss.*.vo
  mapperLocations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: ASSIGN_ID
      field-strategy: NOT_NULL
      column-underline: true
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
    banner: false
    sql-parser-cache: true
    super-mapper-class: yui.comn.mybatisx.core.mapper.BaseDao

最新Maven版本:

<dependency>
    <groupId>com.gitee.easy4use</groupId>
    <artifactId>mybatis-link-boot-starter</artifactId>
    <version>1.0.0</version>
</dependency>

附:项目信息

项目官网:https://easy4use.cn/

Mybaits-Link项目源码:https://gitee.com/easy4use/mybatis-link

项目示例:https://gitee.com/easy4use/mybatis-link-samples

  • 四. MyBatis Link 单表查询,连表查询,动态表名展示     随着业务量的增长,部分表的数据量过于庞大,可以设置保留少量数据的查询表,或者是根据时间段进行分表,由于表的结构是一致的,所以只需要更改表名即可。     例如 t_sys_log 系统日志表,随着访问量的增大,日志表的数据很快可以达到千万级,那么可以对表进行切分,一年一张表,且设置一张 t_sys_log_ro(ro ==

  • mybatis-plus-join 介绍 mybatis-plus-join是一款开源的支持连表查询的mybatis-plus插件,支持mybatis-plus风格的连表操作,提供leftJoin、rightJoin、innerJoin连表操作 插件文档地址 项目地址 Gitee | Github 使用方法 安装 Maven <dependency> <groupId>com.github

  • 三. MyBatis Link 一对一,一对多连表查询配置,解析,结果展示     本节通过一对一,一对多等连表查询进行注解配置,注解解析结果,以及查询结果进行展示。由于每张表生成的基础CRUD都是一样,且不需要进行手动配置,继而不在此处进行分析。         为了便于测试,先创建5张测试表,分别为t_test_a,t_test_b,t_test_c,t_test_d,t_test_e,下面将

  • 现象: mybatis Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure 解决: 方法一:登陆mysql: show global variables like 'wait_timeout'; show global variables like 'interactive

  • 官方下载地址: http://mybatis-link.googlecode.com/svn/trunk/ 这是一个 svn 的下载地址,要一个一个文件地去下载,这里我帮大家下好了。大家可以点击下面的链接下载。 Eclipse插件之MyBatisLink - 下载频道 - CSDN.NET http://download.csdn.net/detail/lw_power/8542497 下面的这篇

  • 五. MyBatis Link 连表查询设置返回字段,以及统计查询应用 1. 连表查询返回字段设置     设置返回结果字段有三种方式,每一种方式达到的效果是一样的。     如果连表查询没有设置别名,推荐使用第一种方式,书写简单,如果设置了别名可以使用第三种方式。     具体如下:     1. fw.select(TestAVo.class, "c_id", "crt_tm"); @

  • https://gitee.com/mr_zhaojin/mybatis-plus-join.git 对mybatis-plus的补充 支持关联查询 支持mysql中的各种函数,不完整,但是可以后续慢慢补充 使用说明: 替换BaseMapper为com.mybatis.plus.mapper.ParentMapper 替换IService为com.mybatis.plus.service.IBas

  • MyBatis级联查询 简介 级联关系是一个数据库实体的概念,有 3 种级联关系,分别是一对一级联、一对多级联以及多对多级联。例如,一个角色可以分配给多个用户,也可以只分配给一个用户。大部分场景下,我们都需要获取角色信息和用户信息,所以会经常遇见以下 SQL。 在级联中存在 3 种对应关系。 一对一的关系:如一个学生对应一个学号,学生与学号就是典型的一对一关系。 一对多的关系,如学生和班级的关系。

  • 1. 什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。   2. 为什么

  • 1. 简单介绍 嗨,大家好,今天给想给大家分享一下关于Mybatis-plus 的 Service 层的一些方法的使用。今天没有总结,因为都是一些API没有什么可以总结的,直接看着调用就可以了。 下边的连接也可以看到同样的内容: 这里地址就是带中文的 https://wnagzainote.yuque.com/books/share/46f28001-903f-4fb6-abdc-ecf9c2bf

  • 目录 一、数据库DDL 二、JAVA代码 三、pom依赖和配置文件               最近发现一个好玩的框架,我们知道mybatis-plus在连表查询上是不行的,如果需要连表查询,那么我们就得乖乖的去写xml文件了,但是今天发现一个新的框架 mybatis-plus-join。它既包含了mybatis-plus的所有优点,然后还支持连表查询,还支持对多,对一的查询,行了废话不多说直接看

  • 踩坑现场 控制台错误日志 [INFO] --- mybatis-generator-maven-plugin:1.3.7:generate (default-cli) @ myproject --- [INFO] Connecting to the Database Wed Jun 08 17:28:08 CST 2022 WARN: Establishing SSL connection wit

 相关资料
  • 铅笔工具已经过改进,便于更好地进行曲线拟合、路径自动关闭、绘制受控与不受控直线段。 铅笔工具 预设 双击“工具箱”中的“铅笔”工具图标,以打开“铅笔工具选项”对话框。“保真度”滑块具有四个预设可供选择。最左侧的滑块预设(精确)用于绘制最精确的路径。最右侧的滑块预设(平滑)用于创建最平滑的路径。选择最适合您绘图需要的预设。<b>(左图)</b> Illustrator CC (v17.x) <br/

  • 我正在逐个迭代字符串对象列表中的元素: 在这里,每次我调用list上的get()时,列表都会从其一端一直迭代到第i个元素——因此上面循环的复杂性是O(n^2)。 是a.)对于增强型for循环,与上面相同,还是b.)对于循环,将指针保持在最后一个指针所在的位置,因此下面循环的复杂性是O(n)? 如果上面的情况(b)——我想是这样的——在列表上使用迭代器有什么好处吗。这是简单的迭代--没有回头路 蒂亚

  • “铅笔”工具已经恢复了 Illustrator 早期版本中的工具所具备的优良、精细的控制功能。 增强的“铅笔工具选项”对话框 增加了一个“保真度”预设 “保真度”滑块目前有 5 个预设。现在已增加了一个新的滑块预设(最准确的预设),可以帮助您绘制出最准确的可能路径。同时,这个新增加的预设已被添加到“平滑工具选项”对话框。 使用 Alt 键可以切换到平滑工具选项 选中此复选框后,使用“铅笔”工具或“

  • 将@Singleton直接应用于包含@PostConstruct和@Transactional的服务类按预期工作 - 调用@PostConstruct并且事务方法工作正常。 将bean定义移动到如下所示的@Factory中仍然有效,MyService singleton仍然被创建,但没有得到增强-@PostConstruct未被调用,事务方法将无法工作(无法获取当前线程的事务同步会话) 与Spri

  • 主要内容:Java11 增强String的API 的示例Java 11 为 String 引入了多项增强功能。 String.repeat(int) : 重复给定次数的字符串。返回连接的字符串。 String.isBlank() :检查字符串是否为空或只有空格。 String.strip() : 删除前导和尾随空格。 String.stripLeading() : 删除前导空格。 String.stripTrailing() : 删除尾随空格。 Str

  • 我可以使用vuforia的增强现实并在应用商店和PlayStore上传吗?

  • ZGC 或 Z 垃圾收集器是在 Java 11 中引入的,作为一种低延迟垃圾收集机制。ZGC 确保垃圾收集暂停时间不依赖于堆大小。无论堆大小是 2MB 还是 2GB,它都不会超过 10 毫秒。 但是 ZGC 在将未使用的堆内存返回给操作系统方面存在限制,例如 G1 和 Shenandoah 等其他 HotSpot VM GC。以下是使用 Java 13 完成的增强功能: ZGC 默认将未提交的内存

  • 我有一个手风琴,它在我的页面内工作得很好。当你点击标题时,隐藏的div会显示,当你再次点击它时,它会再次隐藏。我想通过增加一个功能来增强手风琴,使手风琴一次只显示一个项目。换句话说,如果我打开了一个项目,并单击另一个标题,则当前打开的项目将自动关闭。 这是HTML 这是我的jQuery代码 如您所见,我有一个main(div class=“cap”)后跟一个(div class=“capitalo