从数据库搜索数据不会在Java中搜索术语?

时间:2019-06-13 17:12:08

标签: java request-mapping http-request-parameters

所以,我的问题是我正在创建一个api,并且正在从数据库中获取数据。因此,当我执行GET localhost:8080/myapp/jobs?autocomplete=0120时(0120是作业代码的完整值以显示该数据,它确实显示该数据)。但是,当我执行localhost:8080/myapp/jobs?autocomplete=012时,它不会显示012所具有的数据显示在json中。任何人都可以通过下面的代码来帮助我解决此问题。谢谢!

  @RequestMapping(value = "/jobs")
    public List<AutoComplete> getSalary( @PathVariable("autocomplete") String autocomplete, @RequestParam(value = "jobClassCd", defaultValue = "1502") String jobClassCd) {

        return autoCompleteService.retrieveSalary(jobClassCd);
    }

1 个答案:

答案 0 :(得分:0)

我认为您最好的选择是编写一个类似

的查询

从AutoComplete中选择*,其中jobClassCd之类的为012%

按如下所示更改存储库方法。

@Repository 
public interface AutoCompleteRepository extends CrudRepository<AutoComplete, String> { 

    @Query("select e from AutoComplete e where jobClassCd like ':jobClassCd%'") 
    List<AutoComplete> findByJobClassCd(@Param("jobClassCd") String jobClassCd); 


    @Query("select e from AutoComplete e") 
    public Stream<AutoComplete> streamAll(); 
}