以前接觸的MyBatis Plus的更新都是updateById的形式,可是想根據其它條件更新呢,百度了都沒有具體說怎麼作,下面親測方法:java
/** * 是想對BusMail(bus_mail表)進行如下更新: * update bus_mail set mailStatus = 3 where reciver = #{userId} and mailStatus = 1 */ BusMail e = new BusMail(); e.setMailStatus(3); EntityWrapper<BusMail> ew = new EntityWrapper<BusMail>(); // 錯誤更新方式 ew.where("reciver", userId); ew.and("mailStatus", 1); baseMapper.update(e, ew); // 第一種更新方式 ew.where("reciver = {0}", userId); ew.and("mailStatus = {0}", 1); baseMapper.update(e, ew); // 第二種更新方式 ew = new EntityWrapper<BusMail>(); ew.where("reciver = {0} and mailStatus = {1}", new Object[]{userId, 1}); baseMapper.update(e, ew); // 第三種更新方式 ew = new EntityWrapper<BusMail>(); ew.eq("reciver", userId); ew.eq("mailStatus", 1); baseMapper.update(e, ew);