Mybatis-Flex v1.2.4 发布,多表查询更好用了
Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。
总而言之,Mybatis-Flex 能够极大地提高我们的开发效率和开发体验,让我们有更多的时间专注于自己的事情。
Mybatis-Flex v1.2.4 主要是添加了多表查询(left join 等场景)时,方便的直接通过 dto、vo等进行接收数据。假设有 tb_account
用户表和 tb_article
文章表,他们的字段分别如下:
CREATE TABLE IF NOT EXISTS `tb_account` ( `id` INTEGER PRIMARY KEY auto_increment, `user_name` VARCHAR(100), `age` Integer, `birthday` DATETIME ); CREATE TABLE IF NOT EXISTS `tb_article` ( `id` INTEGER PRIMARY KEY auto_increment, `account_id` Integer, `title` VARCHAR(100), `content` text );
当我们进行关联查询时,可以通过如下代码进行:
1、定义 ArticleDTO
类
public class ArticleDTO { private Long id; private Long accountId; private String title; private String content; //以下用户相关字段 private String userName; private int age; private Date birthday; }
2、使用 QueryWrapper
构建 left join
查询,查询结果通过 ArticleDTO
类型接收。
QueryWrapper query = QueryWrapper.create() .select(ARTICLE.ALL_COLUMNS) .select(ACCOUNT.USER_NAME,ACCOUNT.AGE,ACCOUNT.BIRTHDAY) .from(ARTICLE) .leftJoin(ACCOUNT).on(ARTICLE.ACCOUNT_ID.eq(ACCOUNT.ID)) .where(ACCOUNT.ID.ge(0)); List<ArticleDTO> results = mapper.selectListByQueryAs(query, ArticleDTO.class); System.out.println(results);
更多的多表查询文档参考文档:https://mybatis-flex.com/zh/base/query.html#%E5%85%B3%E8%81%94%E6%9F%A5%E8%AF%A2-%E6%88%96%E5%A4%9A%E8%A1%A8%E6%9F%A5%E8%AF%A2
Mybatis-Flex v1.2.4 主要更新如下:
- 新增:Db.updateBatch() 方法,用于批量修改或者插入等场景
- 新增:通过雪花算法生成数据库主键,内置雪花算法,感谢 @王帅
- 新增:QueryCondition 可以直接传入枚举变量,自动读取 @EnumValue
- 新增:代码生成器添加 Service、ServiceImpl、Controller 的生成功能,感谢 @王帅
- 新增:Db 和 BaseMapper 添加 selectObject 和 selectObjectList 等方法
- 新增:BaseMapper 添加 selectOneByQueryAs 等方法,方便在 left join 等场景直接转换为 dto vo 等;
- 优化:不变属性添加 final 关键字,感谢 @庄佳彬
- 优化:修改拼写错误,processer->processor, 感谢 @庄佳彬
- 优化:Page.of() 方法
- 优化:为 IService.java 添加常用的方法
- 优化:修改 SqlUtil.retBool 为 SqlUtil.toBool
- 修复:orderBy 参数里传入 null 或者 空值,就会抛出异常的问题
- 文档:优化 mybatis-flex.com 的目录结构
- 文档:新增内置主键生成器说明文档,感谢 @王帅
- 文档:修正数据脱敏中的一些描述错误
- 文档:IService 文档添加代码示例
- 文档:优化 "部分字段更新" 的相关文档
- 文档:更新代码生成器的相关文档,感谢 @王帅
- 文档:添加关于 BaseMapper 进行关联查询的相关文档
- 文档:添加在 Spring 的场景下使用 @Transactional 注解的注意事项
和其他框架对比请参考:
- 1、和
MyBatis-Plus
、Fluent-Mybatis
功能方面的对比:https://mybatis-flex.com/zh/intro/comparison.html - 2、和
MyBatis-Plus
性能方面的对比:https://mybatis-flex.com/zh/intro/benchmark.html
进一步了解 MyBatis-Flex 框架,请访问 Mybatis-Flex 官网:https://mybatis-flex.com

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Simple Admin - Go 语言分布式后台管理系统 v1.0.5 发布
SImple Admin Tools v1.5.6 更新 新增: goctls 中文命令行,只需要设置环境变量 SIMPLE_ADMIN_TOOLS_LANG=zh即可 新增: goctls info 命令用于查看可用的环境变量配置及端口使用 修复: goctls api ent, proto 及 goctls rpc ent均对i18n进行了适配 修复: 新增 goctls extra makefile 命令用于生成makefile 修复: rpc的client目录还原为全小写 新增: 在常用的配置添加了环境变量 优化: 合并代码并更新依赖 Simple Admin Backend UI V1.0.5 更新 修复: 加载页面闪烁问题 修复: 重新进入页面空白bug Simple Admin Core/Job V1.0.5 更新 优化: 升级依赖并更新 makefile 文件 注意: 本次更新需要使用 goctls extra makefile 命令更新 Makefile Goctls Info 文档 : https://doc.ryansu.pro/zh/guide/quick-st...
- 下一篇
BeikeShop 跨境电商系统 v1.3.6 | 升级啦!RestAPI/用户Token/后台搜索
点击作者:成都光大网络关注我们 前言:BeikeShop 跨境电商系统又迎来了新的升级版本——v1.3.6! 我们根据近期用户反馈,以及开发者提出的需求。在这个版本,全面优化了系统的样式、功能、性能,以让卖家的跨境电商建站之路更加简单、高效、易用! BeikeShop是什么:一款开源好用的跨境电商系统! BeikeShop能够帮助卖家,快速搭建属于自己的独立站,让卖家立刻拥有自己的国际品牌网站——系统完全开源免费可商用! ✦✦ 一、BeikeShop新增功能 1. 新增 后台 RestAPI 接口 RestAPI是一种面向资源的Web服务接口,通过RestAPI,可以对Web程序的资源进行增、删、改、查等操作,实现与客户端的无缝连接和数据交换 2. 新增用户 Token BeikeShop用户Token是用于身份验证和授权的令牌,用于验证用户身份,并确定其对系统资源的访问权限 可以有效防止未授权的访问和攻击,保障系统安全性 3.新增 Hook 点位 持续新增预设Hook位置:文章页 / 订单计算 / 产品列表 / 订单状态 根据开发者们提出的需求,我们又一次新增了多个 Hook...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- 2048小游戏-低调大师作品
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群