大家有没有在 MyBatis-Plus 里搞不清楚 LambdaQueryWrapper
和 QueryWrapper
的区别?看起来都能构建查询条件,但用法和优势完全不一样哦!
LambdaQueryWrapper:它是基于 Lambda 表达式的查询条件构造器,类型安全!你可以直接引用实体类的字段,还避免手动写字符串字段名的麻烦。代码清爽又安全,完全不怕拼错字!⚡
例如:
queryWrapper.eq(Student::getClassId, classId)
.eq(Student::getStudentNumber, studentNumber);
这样写不仅简洁,还能在编译时检查字段名,安心又方便!💻
2.QueryWrapper:这货就需要你手动输入字段名了,虽然功能没啥差,但容易拼错,而且如果字段名改了你也不容易发现。
例如:
queryWrapper.eq("class_id", classId)
.eq("student_number", studentNumber);
🤔 总结一下:
LambdaQueryWrapper:用 Lambda 表达式,字段名安全有保障,重构友好。
QueryWrapper:手动写字符串,简单但有点不安全。
💡 建议: 想减少出错率、代码未来容易维护?LambdaQueryWrapper 肯定是你最好的朋友!