xueyutianhu
干饭的小狐狸
2021-05-12 17:39
采纳率: 75%
浏览 35
已采纳

搜索框内容是code/name/vlaue,这种搜索的接口怎么写

搜索框内容是code/name/values,也就是说,这三两个条件中的任意一个都可以查出表中的全部数据,我的Controller层接口是这么写的

public ResponseResult<List<Hazardous>> queryHazardousData(

@ApiParam(value = "Code") @RequestParam(value = "cccode") String ccCode,

@ApiParam(value = "Name") @RequestParam(value = "ccName") String ccName,

@ApiParam(value = "Values") @RequestParam(value = "ccValues") String ccValues){

return null;

}

 

Mapper层是这样写的

public List<Hazardous> queryHazardousData(

@Param("ccCode") String ccCode,

@Param("ccName") String ccName,

@Param("ccValues") String ccValues);

 

但是这样写的话,到搜索框就变成了三个值都必须要输入才能查询,怎么写才是正确的

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • technologist_15
    CSDN专家-三岁丫 2021-05-12 19:14
    已采纳

    一般都是只传一个通用的,然后再 mapper 里面写 or xxx or xxxxx

    点赞 1 评论
  • software7503

    封装成JSON包就可以了,是一个文本框还是3个文本框。

    点赞 1 评论
  • technologist_36
    CSDN专家-sinjack 2021-05-12 18:00

    搜索框就变成了三个值都必须要输入才能查询 。你这句话什么意思?

    三个参数,你可以在写sql的时候去判断三个参数是否为空,如果不为空,才加上对应参数作为查询条件。

    点赞 1 评论
  • technologist_36
    CSDN专家-sinjack 2021-05-12 18:03

    你的需求是一个搜索框可以根据多列进行查询吧。即你输入的值,匹配数据库三列中的某一列即可。

    如果是这样的话,你不用传三个参数的,本身搜索框就是一个参数keyword。

    去匹配哪些列是数据层做的事。比如:select * from 表名 where code='参数值' or name='参数值' or value='参数值'

    点赞 1 评论
  • QA_Assistant
    有问必答小助手 2021-05-12 18:25

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 1 评论
  • QA_Assistant
    有问必答小助手 2021-05-13 15:33

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 1 评论

相关推荐