为了账号安全,请及时绑定邮箱和手机立即绑定

如何优雅的使用lambdaQuery实现allEq方法呢?

List<User> users = this.userDao.selectList(Wrappers.<User>query()
        .allEq(true, (key, value) -> key.equals("name"), paramMap, true));

使用lambda怎么实现如上的allEq方法呢?

正在回答

1 回答

       以前我也没用过lambdaQuery调用带过滤参数的allEq,不带过滤参数的那种挺优雅的。类似上面的需求,我做了一种折中实现方式,不太优雅。给你列出代码看看,有时间我再研究研究,如果有答案,我会答复你。

User user = new User();

user.setAge(25);

user.setRealName("王");

Map<SFunction<User, ?>, Object> params = new HashMap<>();

//防误写

params.put(User::getRealName, user.getRealName());

params.put(User::getAge, user.getAge());

List<User> userList = userMapper.selectList(Wrappers.<User>lambdaQuery().allEq(true,

(k, v) -> k.apply(user).equals(user.getRealName()), params, true));

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何优雅的使用lambdaQuery实现allEq方法呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信