public void insertOrUpdate(User user) { log.info("保存的用户信息:"+ JSONObject.toJSONString(user)); //查询是否已存在对应的用户信息 boolean isHave = selectCountById(user.getUserId()); Date date = new Date(); user.setUpdateTime(date); //如果已存在用户信息则修改,不存在则添加 int ins = 0; try { if(isHave){ ins = userInfoMapper.updateByPrimaryKeySelective(user); if (ins > 0) { log.info("修改用户信息成功"); } } else { user.setCreateTime(date); ins = userInfoMapper.insert(user); if (ins > 0) { log.info("保存用户信息成功"); } } } catch (Exception e) { log.error(isHave ? "修改用户信息失败" : "保存用户信息失败" + ",报错信息:"+ e.getMessage()); } }请简化该方法
时间: 2024-02-10 12:14:48 浏览: 62
可以将该方法简化为以下代码:
```
public void insertOrUpdate(User user) {
boolean isHave = selectCountById(user.getUserId());
Date date = new Date();
user.setUpdateTime(date);
user.setCreateTime(isHave ? null : date);
int ins = isHave ? userInfoMapper.updateByPrimaryKeySelective(user) : userInfoMapper.insert(user);
if (ins > 0) {
log.info(isHave ? "修改用户信息成功" : "保存用户信息成功");
} else {
log.error(isHave ? "修改用户信息失败" : "保存用户信息失败");
}
}
```
主要优化点如下:
1. 将日志输出语句放在判断语句内部,避免重复代码;
2. 将try-catch语句去掉,使用异常抛出,使得代码更加简洁易读;
3. 简化if-else语句,减少代码行数和逻辑复杂度。
相关问题
@Override public void saveUserInfo(User user, UserAccount account) { log.info("保存的用户信息:"+ JSONObject.toJSONString(user)); if (userInfoMapper.insert(user) > 0) { userAccountMapper.insert(account);//保存用户密码 log.info("保存用户信息成功"); } else { log.error("保存用户信息失败"); } }
这段代码是用 Java 语言编写的,它的功能是保存用户信息和账户信息到数据库中。首先,这个方法接受两个参数,一个是用户信息对象,一个是用户账户信息对象。然后,它使用日志记录保存的用户信息。接着,它通过 userInfoMapper.insert() 方法将用户信息插入到数据库中。如果插入成功,那么就使用 userAccountMapper.insert() 方法将用户密码插入到数据库中,并使用日志记录保存用户信息成功。如果插入失败,那么就使用日志记录保存用户信息失败。
public void saveUserInfo(User user) { log.info("保存的用户信息:"+ JSONObject.toJSONString(user)); int ins = 0; try { user.setUpdateTime(new Date()); user.setCreateTime(new Date()); ins = userInfoMapper.insert(user); if (ins > 0) { log.info("保存用户信息成功"); } } catch (Exception e) { log.error("保存用户信息失败" + ",报错信息:"+ e.getMessage()); } }简化代码
可以简化为:
```
public void saveUserInfo(User user) {
user.setUpdateTime(new Date());
user.setCreateTime(new Date());
if (userInfoMapper.insert(user) > 0) {
log.info("保存用户信息成功");
} else {
log.error("保存用户信息失败");
}
}
```
这里去掉了无用的日志输出和异常处理,同时将插入操作的判断改为直接判断返回值即可。
阅读全文