Java调用修改接口不判断重复项(优化若依)
若依的是这样的
public boolean checkUserNameUnique(SysUser user) {
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkUserNameUnique(user.getUserName());
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
优化后
public boolean checkUserNameUnique(SysUser user) {
SysUser checkUserNameUnique =
userMapper.checkUserNameIdUnique( user.getUserName(), user.getUserId());
return ObjUtil.isNull(checkUserNameUnique);
}
<select id="checkUserNameIdUnique" resultMap="SysUserResult">
select user_id, user_name
from sys_user
where user_name = #{userName}
and del_flag = '0'
<if test="userId != null">
and user_id != #{userId}
</if>
and rownum <![CDATA[ <= ]]> 1
</select>