有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在SpringAPI中传递参数来选择sql语句?

现在我编写了两个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);

}

一,getWeeklyOpenPositions()调用:

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

二,getWeeklyCurrentlyOpenPositions()调用:

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

共 (1) 个答案

  1. # 1 楼答案

    以下是关键点

    params = "myParam=myValue" 
    

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

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

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

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

    reference

    就你而言

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

    如果您要求SQL级别的处理

    getWeeklyOpenPositions(boolean flagCurrently){
    String query="SELECT * FROM Report WHERE Open_TS BETWEEN '20160101' AND '20161230'";
    
    if(flagCurrently)
    {
     query=query+ " AND close_TS>NOW()";
    } 
    }