在使用or和and混合使用时,name成立并且想要age和bj其中一个成立就显示,这样写:
QueryWrapper userWrapper = new QueryWrapper();
userWrapper.eq(“name”, name); userWrapper.eq(“age”,
age).or().eq(“bj”, bj);
出来的sql语句:
select * from user where(name=? and age=? and bj=? )
这样写是三个条件都成立才能显示,跟自己想要的不一样是错误的
通过查询应该这样写
QueryWrapper userWrapper = new QueryWrapper();
userWrapper.and(wrapper ->wrapper.eq(“age”, age).or().eq(“bj”, bj));
userWrapper.eq(“name”, name);
sql语句
select * from user where ( age= ? or bj= ?) and name = ?