使用Like"%"编写SpringData方法

时间:2017-03-16 11:33:25

标签: spring-data

我需要使用Like"%"。

编写SpringData方法

例如,

@RequestMapping (value = "/ users / {firstname} / {lastname}", method = RequestMethod.GET)

List <User> users = findByFirstnameLikeAndLastnameLike (firstname, lastname);

在这种情况下,如果firstname和lastname都等于%,那么所有User都必须返回。

我现在返回一个空白页面,只有当firstname和lastname都有一些值

时,它才有效

1 个答案:

答案 0 :(得分:0)

我认为这是错误的SQL。

这实际上是四个查询,而不是一个:

  1. SELECT *
  2. SELECT * WHERE FIRST_NAME喜欢'%X'
  3. SELECT * WHERE LAST_NAME喜欢'%Y'
  4. SELECT * WHERE FIRST_NAME喜欢'%X'和LAST_NAME喜欢'%Y'
  5. 您不应该尝试在单个查询中涵盖所有四种情况。

    我会用四种不同的方法编写一个DAO,让控制器根据输入参数选择调用哪一个。

    您与用户的合同应说明四种情况之间的REST URL差异。没有合同就很困惑。是否需要名字和姓氏?除非你告诉我,否则我无法知道。