普通的QueryWrapper:

QueryWrapper<User> wrapper =
        new QueryWrapper<>();

wrapper.eq("name", "张三");

这里的“name”是字符串,当我们拼写错误时,如“nmae”,编译器不会报错,但是在查询时,会因为查不到数据SQL异常。

LambdaQueryWrapper:

LambdaQueryWrapper<User> wrapper =
        new LambdaQueryWrapper<>();

wrapper.eq(
        User::getUsername,
        "张三"
);

        直接是方法调用,如果代码写错会直接报错。

        并且在后续代码重构过程中,修改代码也十分方便,如将“username”改为“nickname”我们只需要shift+F6直接重构。

        LambdaQueryWrapper利用Java类型系统和编译器检查代码正确性,避免字符串硬编码带来的拼写错误和重构风险。

更多推荐