• un8.23:使用判断主键ID的方式在springboot中实现新增和修改功能。


    为了减少代码量度,我们需要用更简单的方式去写代码,那么关于新增和修改功能的实现,也同样可以用作修改和删除。

    今天我就来为大家分享一下具体的方法。

    一、在service中声明方法。

    1. int save(IntermediaryResource intermediaryResource);
    2. IntermediaryResource selectIntermediaryResourceById(String intermediaryResourceId);

    二、serviceImpl中进行实现。

    1、给result定义一个值为空,new一个新的实现类,调用这个实现类接口。

    1. @Override
    2. public int save(IntermediaryResource intermediaryResource) {
    3. Integer result=null;
    4. CheckLawFirmRepeatDto checkLawFirmRepeatDto = new CheckLawFirmRepeatDto();
    5. BeanUtils.copyProperties(intermediaryResource, checkLawFirmRepeatDto);

     2、调用接口中的数据,把参数传入,得到一个类型为布尔的值。

    boolean existRepeat=intermediaryResourceDao.checkRepeat(checkLawFirmRepeatDto);

     3、判断是否得到的值是否为真。

    1. if(existRepeat){
    2. throw new BussinessException(Constant.FAIL, messageMap.get("LRM_VALID_LAWFIRM_REPEAT"));
    3. }

     4、判断主键是否存在,如果没有,执行新增方法。

    1. //intermediaryResourceId 是否存在判断是新增 or 更新
    2. IntermediaryResource existRecord=intermediaryResourceDao.selectIntermediaryResourceById(intermediaryResource.getIntermediaryResourceId());
    3. intermediaryResource.setIsDelete(Constant.IS_NOT_DELETE);
    4. intermediaryResource.setModifyTime(new Date());
    5. if(Objects.isNull(existRecord)){
    6. //add
    7. intermediaryResource.setCreaterId(intermediaryResource.getModifierId());
    8. intermediaryResource.setCreaterName(intermediaryResource.getModifierName());
    9. intermediaryResource.setCreateTime(new Date());
    10. result=intermediaryResourceDao.insertIntermediaryResource(intermediaryResource);
    11. }

     5、判断主键是否存在,如果已存在,则执行编辑方法。

    1. else {
    2. //upd
    3. result=intermediaryResourceDao.updateIntermediaryResource(intermediaryResource);
    4. }

    6、返回一个result。

            return result;

    三、controller中调用形成接口。

    1、使用@RequestMapping发送post请求。

    @RequestMapping(value = "/save", method = RequestMethod.POST)

    2、创建方法,将参数传入。

    public ResultInfoDTO save(@Valid @RequestBody IntermediaryResource intermediaryResource){

    3、实例化对象

    ResultInfoDTO resultInfo = new ResultInfoDTO();

    4、构造方法。

    LoginUserInfoDTO user = this.getLoginUserInfo();

    5、写方法内容。

    1. log.info("ProjectOverseas:"+intermediaryResource);
    2. StringUtil.isEmpty(intermediaryResource.getLawFirmName())) {
    3. intermediaryResource.setModifierId(user.getUserCode());//向用户的ID赋值
    4. intermediaryResource.setModifierName(user.getUserName());//向用户的name赋值
    5. int id = intermediaryResourceService.save(intermediaryResource);//调用service中的方法,得到一个ID
    6. resultInfo.setData(id);//日期时间
    7. resultInfo.setReturnValue(true);//值
    8. resultInfo.setMsg(messageMap.get("LRM_SAVE_SUCCESS"));//返回成功
    9. return resultInfo;//返回一个resultInfo

    6、返回成功地值。

    1. log.error(be.getMsg());
    2. throw new BussinessException(Constant.FAIL, be.getMsg());

    7、返回失败的值。

    1. log.error(messageMap.get("LRM_SAVE_LAWFIRM_ERROR"));
    2. throw new BussinessException(Constant.FAIL, messageMap.get("LRM_SAVE_LAWFIRM_ERROR"));

    如此我们便实现了用主键判断实现新增和修改的功能。

  • 相关阅读:
    HCIA-HarmonyOS设备开发V2.0证书
    LVGL-TLSF内存管理算法-TLSF_LOG2_CEIL(n)宏详解:计算内存块所属内存池类别
    Triloga 任务——Benja 系列
    python爬取深交所各行业前三上市公司市值
    C++11-容器
    Archery- SQL审核查询平台告警通知设置
    Wireshark入门到超神-第一章-过滤器-数据包解析
    webpack5 optimization.splitChunks多入口提取重复代码为公共模块
    asp.net core获取config和env
    ORA-38824无法手工修改存储过程的问题
  • 原文地址:https://blog.csdn.net/m0_64818669/article/details/126486742