如何在spring API中传递一个参数来选择sql语句?

时间:2016-08-29 08:09:48

标签: java sql-server spring

现在我写了两个API,它们的进程都相似,但在sql语句中有所不同。

我的问题是:

我可以通过参数合并到一个进程中,参数的角色用于选择SQL状态吗?

如何设计此SQL语句?

如何构建此流程?

@RequestMapping(value="/positions" ,method = RequestMethod.GET, produces = MediaTypes.JSON_UTF_8)
public List<WeeklyOpenPosition> getWeeklyOpenPositions(@RequestParam(value="startDate",defaultValue="20160601") String startDate
        ,@RequestParam(value="endDate", defaultValue="20160701") String endDate){

        return weeklyReportServiceImpl.getWeeklyOpenPositions(startDate,endDate);

}

@RequestMapping(value="/currentlypos" ,method = RequestMethod.GET, produces = MediaTypes.JSON_UTF_8)
public List<WeeklyOpenPosition> getWeeklyCurrentlyOpenPositions(@RequestParam(value="startDate",defaultValue="20160601") String startDate
        ,@RequestParam(value="endDate", defaultValue="20161201") String endDate){

        return weeklyReportServiceImpl.getWeeklyCurrentlyOpenPositon(startDate, endDate);

}

1. getWeeklyOpenPositions()调用:

SELECT * FROM Report WHERE Open_TS BETWEEN '20160101' AND '20161230'

2. getWeeklyCurrentlyOpenPositions()调用:

SELECT * FROM Report WHERE Open_TS BETWEEN '20160101' AND '20161230' AND close_TS>NOW()

1 个答案:

答案 0 :(得分:0)

以下是关键点。

return_immediately=False

此链接可能有助于理解。 enter link description here

params = "myParam=myValue" 

以下代码可以将两个路径集成到一个方法

@GetMapping(path = "/pets/{petId}", params = "myParam=myValue")
public void findPet(@PathVariable String ownerId, @PathVariable String  petId, Model model) {
// implementation omitted
}

reference

在你的情况下

@RequestMapping(value={"/employee/remove","/employee/delete"})

如果您要求SQL级别处理

 @RequestMapping(value={"/currentlypos","/positions"},params = "myParam=myValue" ,method = RequestMethod.GET, produces = MediaTypes.JSON_UTF_8)