Mybatis的update方法

Update方法

更新某条记录

public void recycleAccount(Long Id) {
    Account account = new Account();
    account.setId(Id);
    account.setAccountStatus(RecordStatusEnum.VALID.getValue());
    accountService.update(account);
}

updateByPrimaryKeySelective方法

只是更新实体model中,不为空的字段

public void lockAccount(Long Id) {
    Account account = new Account();
    account.setId(Id);
    account.setAccountStatus(RecordStatusEnum.LOCKED.getValue());
    accountService.updateByPrimaryKeySelective(account);
}

updateByExample方法

更新实体所有的字段

如果,example定义了两个字段,数据库共4个字段
则修改数据库的两个字段,其余两个字段改为null

private void makedAssayOrderSample(String sampleNo) {
    AssayOrderSampleExample assayOrderSampleExample = new AssayOrderSampleExample();
    AssayOrderSampleExample.Criteria criteria1 = assayOrderSampleExample.createCriteria();
    criteria1.andRecordStatusEqualTo(RecordStatusEnum.VALID.getValue());
    criteria1.andSampleNoEqualTo(sampleNo);
    AssayOrderSample assayOrderSample = new AssayOrderSample();
    assayOrderSample.setStatusFlag(AssayTaskStatusEnum.SAMPLE_PREPARATION_FINISHED.getValue());
    assayOrderSampleService.updateByExample(assayOrderSample, assayOrderSampleExample);
}

updateByExampleSelective方法

选择性更新实体中的字段

如果,example定义了两个字段,数据库共4个字段
则修改数据库的两个字段,其余两个字段不动

public void deleteSelfAndChild(TestObjectCategoryTree tree) {

    TestObjectCategoryExample testObjectCategoryExample = new TestObjectCategoryExample();
    TestObjectCategoryExample.Criteria criteria1 = testObjectCategoryExample.createCriteria();
    criteria1.andIdEqualTo(tree.getId());
    TestObjectCategoryExample.Criteria criteria2 = testObjectCategoryExample.createCriteria();
    criteria2.andParentIdsLike(tree.makeSelfAsNewParentIds() + "%");
    testObjectCategoryExample.or(criteria2);

    TestObjectCategory testObjectCategory = new TestObjectCategory();
    testObjectCategory.setModifyTime(new Date());
    testObjectCategory.setRecordStatus(RecordStatusEnum.DESTROYED.getValue());

    testObjectCategoryService.updateByExampleSelective(testObjectCategory, testObjectCategoryExample);
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值