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条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL数据库在高并发下的优化方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8编译安装MySQL8.0.19
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作