来自大佬优雅的代码mybatisPlus-saveOrUpdate

注意点:
BeanUtil(cn.hutool.core.bean;)
mybatisPlus设置了更新字段为空时不更新数据库
在这里插入图片描述

//复制属性操作实体类
        SysPost sysPost = BeanUtil.copyProperties(postDTO, SysPost.class);
        boolean result;
        //根据用户名查询列表
        long count = count(new QueryWrapper<SysPost>()
                .ne(ObjectUtil.isNotNull(sysPost.getId()) && sysPost.getId() != 0, "id", sysPost.getId())
                .eq(ObjectUtil.isNotNull(sysPost.getPostName()), "post_name", sysPost.getPostName()));
        Assert.isTrue(count == 0, CommonErrCode.POST_NAME_REPEATE.getMessage());
        //id不为空且!=0 ,更新
        if (ObjectUtil.isNotNull(sysPost.getId()) && sysPost.getId() != 0) {
            //更新
            result = saveOrUpdate(sysPost);
        } else {
            //新增
            sysPost.setId(IdGenerator.getId());
            result = save(sysPost);
        }
        return result ? Result.succeed(sysPost, StringPool.SUCCESS_MSG) : Result.failed(StringPool.FAIL_MSG);

你可能感兴趣的:(来自大佬优雅的代码mybatisPlus-saveOrUpdate)