MyBatis Plus自定義更新

以前接觸的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);
相關文章
相關標籤/搜索