如何優(yōu)雅的使用lambdaQuery實(shí)現(xiàn)allEq方法呢?
List<User>?users?=?this.userDao.selectList(Wrappers.<User>query() ????????.allEq(true,?(key,?value)?->?key.equals("name"),?paramMap,?true));
使用lambda怎么實(shí)現(xiàn)如上的allEq方法呢?
List<User>?users?=?this.userDao.selectList(Wrappers.<User>query() ????????.allEq(true,?(key,?value)?->?key.equals("name"),?paramMap,?true));
使用lambda怎么實(shí)現(xiàn)如上的allEq方法呢?
2019-06-23
舉報(bào)
2019-06-23
? ? ? ?以前我也沒用過lambdaQuery調(diào)用帶過濾參數(shù)的allEq,不帶過濾參數(shù)的那種挺優(yōu)雅的。類似上面的需求,我做了一種折中實(shí)現(xiàn)方式,不太優(yōu)雅。給你列出代碼看看,有時(shí)間我再研究研究,如果有答案,我會(huì)答復(fù)你。
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));