MyBatis Plus 提供了多种复杂查询的方法,其中一些常用的方法包括:
selectList(Wrapper wrapper):根据条件查询多条记录。selectOne(Wrapper wrapper):根据条件查询单条记录。selectCount(Wrapper wrapper):根据条件查询记录数。selectMaps(Wrapper wrapper):根据条件查询多条记录,并返回 Map 集合。selectPage(Page page, Wrapper wrapper):根据条件分页查询记录。selectMapsPage(Page page, Wrapper wrapper):根据条件分页查询记录,并返回 Map 集合。上述方法中的 Wrapper 是一个查询条件构造器,可以用于构建查询条件,例如:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.eq("age", 20) .like("name", "张") .orderByDesc("id");List<User> userList = userMapper.selectList(queryWrapper);以上代码将根据条件 age=20、name 包含"张",并按id字段降序排序,查询符合条件的用户列表。
除了使用 Wrapper 构造查询条件外,MyBatis Plus 还提供了 Lambda 表达式的方式构建查询条件,可以更加方便地进行复杂查询。例如:
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();lambdaQueryWrapper.eq(User::getAge, 20) .likeRight(User::getName, "张") .orderByDesc(User::getId);List<User> userList = userMapper.selectList(lambdaQueryWrapper);以上代码与前面的示例相同,只是使用了 Lambda 表达式构建查询条件。
除了以上方法之外,MyBatis Plus 还提供了更多的查询方法,可以根据具体需求选择合适的方法进行复杂查询。具体使用方法可以参考 MyBatis Plus 的官方文档。

