QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("del_flag", "0")
.and(wrapper -> wrapper.like("user_name", "粥").or().like("nick_name", "粥"))
.in("user_id", Arrays.asList(1892512443619762178L, 1892565898380111873L))
.ne("user_id", 1)
.eq("tenant_id", "000000");
List<SysUser> userList = sysUserMapper.selectList(queryWrapper);
代码说明:
eq(“del_flag”, “0”) 对应 SQL 中的 u.del_flag = ‘0’
and(wrapper -> wrapper.like(“user_name”, “粥”).or().like(“nick_name”, “粥”)) 对应 (u.user_name LIKE ‘%粥%’ OR u.nick_name LIKE ‘%粥%’)
in(“user_id”, Arrays.asList(…)) 对应 u.user_id IN (1892512443619762178, 1892565898380111873)
ne(“user_id”, 1) 对应 u.user_id <> 1
eq(“tenant_id”, “000000”) 对应 u.tenant_id = ‘000000’
注意事项:
确保SysUser实体类中的属性与数据库字段对应
如果使用Lambda方式,可以更安全地避免字段名写错:
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SysUser::getDelFlag, "0")
.and(wrapper -> wrapper.like(SysUser::getUserName, "粥")
.or()
.like(SysUser::getNickName, "粥"))
.in(SysUser::getUserId, Arrays.asList(1892512443619762178L, 1892565898380111873L))
.ne(SysUser::getUserId, 1)
.eq(SysUser::getTenantId, "000000");