带服务的javaspring引导中的数学运算

8cdiaqws  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(263)

我想添加两列并将结果放入第三列。我的table有100多行。
我的型号:

我的存储库:

import java.util.List;
    @Repository
    public interface OilRepo extends JpaRepository<OilModel,Long> {
    }

控制器:

@RestController
    @RequestMapping()
    public class OilController {

        @Autowired
        private OilService oilService;

        @GetMapping(value = "/all")
        public List<OilModel> oilModels() { return oilService.getOilModel();}

        @PostMapping(value = "/save")
        public List<OilModel> oilModel(@RequestBody List<OilModel> oilModel){
            return oilService.saveOil(oilModel); }
    }

和服务

import java.util.List;

@Service
public class OilService {
@Autowired
private OilRepo oilRepo;

public List<OilModel> getOilModel() { return oilRepo.findAll(); }
public List<OilModel> saveOil(List<OilModel> oilModels){
    oilModels.stream().map(oilModel -> oilModel.average = 
oilModel.getO_ai_92()+oilModel.getO_ai_95());
    return oilRepo.saveAll(oilModels);

}

}
如何正确编写服务以使此代码正常工作?

epfja78i

epfja78i1#

你可以在里面做 getAverage() 方法如图所示below:-

public class OilModel {

    @Access(AccessType.PROPERTY)
    private double average;

    ...
    ...
    ...

    public Double getAverage() {
        return get0_ai_92() + get0_ai_95();
    }
}

直接存储列表而不做任何操作。
note:- make 确定要添加吗 @Access(AccessType.PROPERTY) 平均字段允许jpa从方法而不是从字段访问值。

相关问题