将参数转换为POJO以查询H2数据库

时间:2019-07-31 22:10:58

标签: java spring

当前实现基于url的查询spring控制器并以查询为例

  search/?driverId=1&driverId=2.  

控制器如下所示:

  public List<DriverDTO> searchDrivers(@RequestParam Map<String, 
   String> params) {}

我主要关心的是如何将Map参数映射到如下所示的POJO,以便我可以使用该映射查询H2数据库。还是可以直接查询数据库?

  public class queryDO {

   private Long id;

   private ManufacturerType manufacturerType;

   private int rating;

  }

这是我第一次使用这种类型的查询api,因此任何示例(目前在github上都找不到)。

1 个答案:

答案 0 :(得分:1)

如果您的QueryDO类具有getter和setter,那么以下操作应该很好:

public class QueryDO {
    private Long id;
    private ManufacturerType manufacturerType;
    private int rating;
    // getters / setters
}

@RestController
public class SearchController {
    @GetMapping("/search")
    public List<DriverDTO> searchDrivers(QueryDO query) {
        ...
    }
}

如果查询字符串中的参数名称与QueryDO类的属性匹配,Spring将自动将其映射到query对象的相应属性中。

例如查询:

search/?id=1&rating=35