您现在的位置是:首页 > 文章详情

Mybatis-Flex v1.2.4 发布,多表查询更好用了

日期:2023-05-16点击:393

Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。

总而言之,Mybatis-Flex 能够极大地提高我们的开发效率和开发体验,让我们有更多的时间专注于自己的事情。

Mybatis-Flex v1.2.4 主要是添加了多表查询(left join 等场景)时,方便的直接通过 dto、vo等进行接收数据。假设有 tb_account 用户表和 tb_article 文章表,他们的字段分别如下:

sql
 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 

java
 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 类型接收。

java
 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 注解的注意事项

 

和其他框架对比请参考:

进一步了解 MyBatis-Flex 框架,请访问 Mybatis-Flex 官网:https://mybatis-flex.com

原文链接:https://www.oschina.net/news/241221/mybatis-flex-1-2-4-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章