一: LambdaQueryWrapper的使用
在下面的查询示例中,我们看到一个现象,查询字段的值,是实体类的属性名称。而属性名称都是使用字符串写死的。如果实体类的属性名称更改,那么使用 MP 的条件查询所以相关联的实体类属性名称都是需要修改的。
针对上面的问题,MP 对于查询 Wrapper API 提供了 LambdaQueryWrapper 来很好的解决此问题。通过 Lambda 方法引用,获得实体类属性和表的对应映射关系,再做表的字段查询。
测试代码:
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
public void testLambdaWrapper() {
//构建 LambdaQueryWrapper ,重点制定泛型
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//使用 LambdaQueryWrapper 构建查询条件(使用的是拉姆达形式的表达式)
lambdaQueryWrapper.eq(User::getName, "李四")
.or()
.eq(User::getAge, 24);
//进行信息查询
List<User> users = userMapper.selectList(lambdaQueryWrapper);
for (User user : users) {
System.out.println(user);
}
}
}