MyBatis-Flex-多表联查(自动映射)

本文介绍了MyBatis-Flex框架的QueryWrapper功能,包括基础查询、AS映射、多表联查、高级映射以及处理重名字段的方法,展示了如何提高SQL编写效率和数据查询的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 简介:

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

官网:

MyBatis-Flex - MyBatis-Flex 官方网站icon-default.png?t=N7T8https://mybatis-flex.com/

数据脱敏上文以及说到如果有感兴趣的小伙伴请移步到上一篇

mybatis-flex 详解-CSDN博客

多表联查

初始对比:

为了方便熟悉,我们和mybatis-plus的查询做一个对比,更加容易理解:

MyBatis-Flex:

QueryWrapper query = new QueryWrapper()
    .select(
        ACCOUNT.ID,
        ACCOUNT.USER_NAME,
        max(ACCOUNT.BIRTHDAY),
        avg(ACCOUNT.SEX).as("sex_avg")
    );
List<Employee> employees = employeeMapper.selectListByQuery(query);

MyBatis-Plus:

QueryWrapper<Employee> queryWrapper = new QueryWrapper<>();
queryWrapper
    .select(
        "id"
        ,"user_name"
        ,"max(birthday)"
        ,"avg(birthday) as sex_avg"
    );
List<Employee> employees = employeeMapper.selectList(queryWrapper);

在多表联查前面我们先尝试一个基础查询(基础映射):

@Table(value = "tb_account")
public class Account {

    @Id(keyType = KeyType.Auto)
    private Long id;
    private String userName;
    private int age;

    //getter setter
}

Account.java 与表 tb_account 是字段和属性是一一对应关系的。此时,我们在查询数据的时候,可以通过 AccountMapper 方法直接查询,例如:

QueryWrapper qw = new QueryWrapper();
qw.select(ACCOUNT.ALL_COLUMNS)
    .where(ACCOUNT.ID.ge(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值