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

科技资讯 投稿 6100 0 评论

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

 

和其他框架对比请参考:

    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

编程笔记 » Mybatis-Flex v1.2.4 发布,多表查询更好用了

赞同 (24) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽