day03_回显修改功能

第一部分:修改的回显功能

------------------------------------后端回显----------------------------------------------------------------------------------------

interface层
    /**
     * 根据ID获取实体
     * @param id
     * @return
     */
    public Specification findOne(Long id);

 

service实现层
@Override
    public Specification findOne(Long id){
        Specification specification = new Specification();
        //查询规则
        TbSpecification tbSpecification = specificationMapper.selectByPrimaryKey(id);
        specification.setSpecification(tbSpecification);

        //查询规则细节表
        TbSpecificationOptionExample example = new TbSpecificationOptionExample();
        TbSpecificationOptionExample.Criteria criteria = example.createCriteria();
        criteria.andSpecIdEqualTo(id);//外键条件
        List<TbSpecificationOption> tbSpecificationOptions = specificationOptionMapper.selectByExample(example);
        specification.setSpecificationOptionList(tbSpecificationOptions);
        return specification;
    }

 

controller层
    /**
     * 获取实体
     * @param id
     * @return
     */
    @RequestMapping("/findOne")
    public Specification findOne(Long id){
        System.out.println(specificationService.findOne(id));
        return specificationService.findOne(id);
    }

------------------------------------前端回显----------------------------------------------------------------------------------------

前端controller层
    //查询实体(回显)
    $scope.findOne=function(id){                
        specificationService.findOne(id).success(
            function(response){
                $scope.entity= response;                    
            }
        );                
    }
    
页面层
<tbody>
  <tr ng-repeat="entity in list">
      <td><input  type="checkbox" ></td>                                          
      <td>{{entity.id}}</td>
      <td>{{entity.specName}}</td>
      <td class="text-center">                                           
          <button type="button" class="btn bg-olive btn-xs" data-toggle="modal" data-target="#editModal" ng-click="findOne(entity.id)">修改</button>
      </td>
  </tr>

</tbody>

第二部分:修改功能

----------------------------------后端修改---------------------------------------------------------------------------

这里修改的思路是将之前的删除,然后将新的提交到后台,等于删除和新增功能和起来是修改功能

接口
     /**
     * 修改
     */
    public void update(Specification specification);

 

接口的实现类
    @Override
    public void update(Specification specification){
        //首先删除规则表
        specificationMapper.deleteByPrimaryKey(specification.getSpecification().getId());
        //然后将新的修改后规则表放add上去

        //再删除另一张规则详情表,
        TbSpecificationOptionExample example = new TbSpecificationOptionExample();
        TbSpecificationOptionExample.Criteria criteria = example.createCriteria();
        criteria.andSpecIdEqualTo(specification.getSpecification().getId());
        specificationOptionMapper.deleteByExample(example);//根据条件删除外键
        List<TbSpecificationOption> specificationOptionList = specification.getSpecificationOptionList();
        for (TbSpecificationOption tbSpecificationOption : specificationOptionList) {
            tbSpecificationOption.setSpecId(specification.getSpecification().getId());
            specificationOptionMapper.insert(tbSpecificationOption);
        }
    }
 

controller层
    /**
     * 修改
     * @param specification
     * @return
     */
    @RequestMapping("/update")
    public Result update(@RequestBody Specification specification){
        System.out.println(specification);
        try {
            specificationService.update(specification);
            return new Result(true, "修改成功");
        } catch (Exception e) {
            e.printStackTrace();
            return new Result(false, "修改失败");
        }
    }    

----------------------------------前端修改---------------------------------------------------------------------------

前端的controller
//保存 
    $scope.save=function(){                
        var serviceObject;//服务层对象                  
        if($scope.entity.specification.id!=null){//如果有ID
            serviceObject=specificationService.update( $scope.entity ); //修改  
        }else{
            serviceObject=specificationService.add( $scope.entity  );//增加 
        }                
        serviceObject.success(
            function(response){
                if(response.success){
                    //重新查询 
                    $scope.reloadList();//重新加载
                }else{
                    alert(response.message);
                }
            }        
        );                
    }
    
页面
        <button class="btn btn-success" data-dismiss="modal" aria-hidden="true" ng-click="save()">保存</button>

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值