Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从数据库中搜索数据不会在java中搜索术语?_Java_Request Mapping_Http Request Parameters - Fatal编程技术网

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

从数据库中搜索数据不会在java中搜索术语?,java,request-mapping,http-request-parameters,Java,Request Mapping,Http Request Parameters,所以,我的问题是我有一个api,我正在创建一个api,我正在从数据库获取数据。因此,当我得到localhost:8080/myapp/jobs?autocomplete=0120(其中0120是显示该数据的作业代码的完整值,它确实显示了该数据)。但是,当我执行localhost:8080/myapp/jobs?autocomplete=012时,它不会显示要在json中显示的012数据。谁能帮我用下面的代码解决这个问题。谢谢 @RequestMapping(value = "/jobs")

所以,我的问题是我有一个api,我正在创建一个api,我正在从数据库获取数据。因此,当我得到
localhost:8080/myapp/jobs?autocomplete=0120
(其中0120是显示该数据的作业代码的完整值,它确实显示了该数据)。但是,当我执行
localhost:8080/myapp/jobs?autocomplete=012
时,它不会显示要在json中显示的
012
数据。谁能帮我用下面的代码解决这个问题。谢谢

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

        return autoCompleteService.retrieveSalary(jobClassCd);
    }
@RequestMapping(value=“/jobs”)
公共列表getSalary(@PathVariable(“自动完成”)字符串自动完成,@RequestParam(value=“jobClassCd”,defaultValue=“1502”)字符串jobClassCd){
返回autoCompleteService.retrieveSalary(jobClassCd);
}

我认为您最好的选择是编写一个查询,它可以执行以下操作

从自动完成中选择*,其中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(); 
}
@存储库
公共接口自动完成存储扩展了CRUDEPository{
@查询(“从自动完成e中选择e,其中jobClassCd类似:jobClassCd%”)
列出findByJobClassCd(@Param(“jobClassCd”)字符串jobClassCd);
@查询(“从自动完成e中选择e”)
公共流streamAll();
}

我认为您最好的选择是编写一个查询,它可以执行以下操作

从自动完成中选择*,其中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(); 
}
@存储库
公共接口自动完成存储扩展了CRUDEPository{
@查询(“从自动完成e中选择e,其中jobClassCd类似:jobClassCd%”)
列出findByJobClassCd(@Param(“jobClassCd”)字符串jobClassCd);
@查询(“从自动完成e中选择e”)
公共流streamAll();
}

012和0120是否相似?是。但是,你知道我想要完成什么,对吧?我想你希望012的结果和你在0120的结果一样。我说得对吗?是的。但是,即使我搜索012,也要尝试查找从012开始的值以列出它们。就像前端的自动完成搜索输入一样。为什么不尝试更改查询并使用like query。012和0120是否相似?是的。但是,你知道我想要完成什么,对吧?我想你希望012的结果和你在0120的结果一样。我说得对吗?是的。但是,即使我搜索012,也要尝试查找从012开始的值以列出它们。就像前端自动完成搜索输入一样。为什么不尝试更改查询并使用like查询呢。