mybatis中如何使用queryWrapper构造表左关联查询,同时添加其他条件

发布时间 2023-10-10 10:01:54作者: BlogMemory

MyBatis 中可以使用 QueryWrapper 类来构造 SQL 查询语句。要进行表左关联查询,可以使用 QueryWrapper 的 join 方法,并指定关联的表名和关联条件。同时,可以使用 QueryWrapper 的其他方法来添加其他查询条件,例如 eq、like、in 等。

以下是一个示例代码,用于进行表左关联查询并添加其他条件:

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("user.*", "order.*")
    .from("user")
    .leftJoin("order", "user.id = order.user_id")
    .eq("user.status", 1)
    .like("user.name", "Tom")
    .in("order.status", 2, 3);
List<User> userList = userMapper.selectList(queryWrapper);

在上面的代码中,我们首先创建了一个 QueryWrapper 对象,并使用 select 方法指定要查询的字段。然后,使用 from 和 leftJoin 方法指定要关联的表和关联条件。接着,使用 eq、like 和 in 等方法添加其他查询条件。最后,调用 selectList 方法执行查询并返回结果。

需要注意的是,QueryWrapper 中的方法都是链式调用的,可以根据需要添加多个查询条件。