java 高级 – updateByExampleSelective
前言 :Example 是generator 逆向生成的
方法参考: updateByExampleSelective(@Param(“record”) Xxx record, @Param(“example”) XxxExample example);
需要传入一个对象,一个Example
第一个参数
是要修改的部分值组成的对象,其中有些属性为null则表示该项不修改。
第二个参数
是一个对应的查询条件的类, 通过这个类可以实现 order by 和一部分的where 条件。
使用方法大概如下:
CardInfo cardInfo = new CardInfo();
cardInfo.setFreezeStat("1");
CardInfoExample example = new CardInfoExample();
example.createCriteria().andCardNoIn(cardFrozenDto.getCardNoList()).andFreezeStatEqualTo("0");
//逻辑说明:查询List 状态为 0 的集合,并将状态修改为 1
int count = cardInfoDao.updateByExampleSelective(cardInfo, example);
// 返回 Count 为修改的数量 可以进行判断
if (count != cardFrozenDto.getCardNoList().size()) {
throw new BizFailException("----");
}