LambdaQueryWrapper<SysTest> query = new LambdaQueryWrapper<>();
query.eq(SysTest::getDiscountType, 1);
query.and(q -> {
q.le(SysTest::getStartMonth, (Integer)(beginMonth)).or(wrapper -> wrapper.ge(SysTest::getEndMonth, (Integer)(endMonth)));
});
查看控制台输出的sql:
SELECT id,discount_type,discount_value,start_month,end_month FROM public.sys_test WHERE (discount_type = ? AND (start_month <= ? OR (end_month >= ?)))

这篇博客探讨了如何使用Lambda表达式在Java中创建复杂的SQL查询,特别是在 SysTest 对象的过滤条件上,通过eq方法设置discount_type字段等于1,然后利用and和or逻辑操作符组合start_month和end_month的条件,实现灵活的数据筛选。
1029

被折叠的 条评论
为什么被折叠?



