/**
* 创建条件构造器时传入实体对象
*/
@Test
public void selectByWrapperEntity(){
User whereUser = new User();
whereUser.setName("Jack");
whereUser.setAge(20);
QueryWrapper<User> queryWrapper = new QueryWrapper<User>(whereUser);
List<User> userList = userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}##### SQL日志执行如下
==> Preparing: SELECT id,name,age,email FROM user WHERE id=? AND name=? AND age=?
==> Parameters: 0(Long), Jack(String), 20(Integer)
<== Total: 0
我怀疑是你实体类中的主键用的基本数据类型,基本数据类型的成员变量,例如long的默认值是0。所以会出现你那么现象,换成基本数据类型对应的包装类即可,因为是引用类型,默认值为null。
估计你User实体类的主键用的基本类型吧,默认会带默认值0的,可以换为包装类型试试