MybatisPlus修改时空字段无法修改的解决方案
作者:鲨鱼辣椒灬
这篇文章主要介绍了MybatisPlus修改时空字段无法修改的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
MybatisPlus空字段无法修改
点开修改
数据为空时,点击确定,可列表出现的数据还是为原来的数据
查看后台的打印输出,发现没有更新的这2个字段
这个时候,在实体类中加入
这行注释的意思是
在属性执行修改时,将自动填充一个值(默认为null),即将字段修改为空,而不是不做修改。
Mybatis-Plus修改指定字段
核心代码
/** * 修改密码(只能修改自己的密码) * * @author zhangxuewei * @param userID * @param password * @param session * @return */ @ResponseBody @RequestMapping(value = "/updateUserPWD", method = RequestMethod.POST) public ResultCode updateUserPWD(@RequestParam(value = "password_old") String password, @RequestParam(value = "password_new") String newpassword, HttpSession session) { logger.info("updateUserPWD ..........."); User user1 = (User) session.getAttribute("sessionUser"); ResultCode res = new ResultCode(); EntityWrapper<User> ew = new EntityWrapper<>(); ew.eq("user_name", user1.getUserName()); User user2= userService.selectOne(ew); if(user2.getPassWord().equals(AIAppUtils.encrypt(password))) { if (StringUtils.isNotBlank(password) && StringUtils.isNotBlank(newpassword)) { String setSql = "pass_word = " + "'" + AIAppUtils.encrypt(newpassword) + "'"; EntityWrapper<User> ew1 = new EntityWrapper<>(); ew1.eq("user_id", user1.getUserID()); try { userService.updateForSet(setSql, ew1); session.removeAttribute("sessionUser"); res.setCode(0); } catch (Exception e) { // TODO: handle exception res.setCode(1); } } else { // 参数不能为空 res.setCode(1); res.setMsg("参数不能为空"); } }else { res.setCode(1); res.setMsg("原始密码不正确!"); } return res; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。