2018-8-22-插入、更新导致重复数据的代码

一、在XxxxMapper.xml文件中添加

<!--查询重复的代码-->
<select id="selectExistTaskCodeCount" parameterType="com.csii.loan.common.model.batch.JobTask"
        resultType="java.lang.Integer">
    SELECT
        total
    FROM
    (
    SELECT
    j.task_code,
    count( id ) total
    FROM
    batch_job_task j
    WHERE
    j.task_code = #{taskCode,jdbcType=VARCHAR}
    <if test="id != null">
        AND j.id = #{id,jdbcType=VARCHAR}
    </if>
    GROUP BY
    j.task_name
    ) tmp
</select>

二、在XxxxMaper.java文件中添加

/**
 * 查询是否存在相同的job(jobName)
 * @param jobTask
 * @return
 */
Integer selectExistTaskCodeCount(JobTask jobTask);

三、在实现XxxxServiceImpl文件中添加

/**
 * 判断当前jobName是否存在已有数据中
 * @param jobTask
 * @return
 */
@Override
public boolean isExistJob(JobTask jobTask) {
    Integer existTotal = jobTaskMapper.selectExistTaskCodeCount(jobTask);
    if (existTotal != null && existTotal > 0) {
        return true;
    }
    return false;
}

四、在服务文件XxxxService中添加

/**
 * 查询是否存在相同的job(jobName)
 * @param jobTask
 * @return
 */
boolean isExistJob(JobTask jobTask);

五、在XxxxAction文件中添加

public Result addJobTask(Context context) {
    JobTask jobTask = ContextUtils.getBean(JobTask.class, context);
    //判断是否为空
    Boolean isExistJob = jobTaskService.isExistJob(jobTask);

    if (isExistJob) {
        return Result.fail("存在重复的数据!");
    }
    jobTask.setId(idGenerator.nextIdStr());
    ContextUtils.setCreateMsg(jobTask, context);

    int num = jobTaskService.insertSelective(jobTask);
    if (num == 1) {
        return Result.success(num, "新增成功!");
    } else {
        return Result.success(num, "新增失败!");
    }
}

 

public Result updateByTaskCode(Context context) {
    JobTask jobTask = ContextUtils.getBean(JobTask.class, context);
    //判断是否为空
    Boolean isExistJob = jobTaskService.isExistJob(jobTask);
    if (isExistJob) {
        return Result.fail("不能修改重复的数据!");
    }
    ContextUtils.setUpdateMsg(jobTask, context);
    int num = jobTaskService.updateByTaskCode(jobTask);
    if (num == 1) {
        return Result.success(num, "修改成功!");
    } else {
        return Result.success(num, "修改失败!");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值