美文网首页
愉快的使用JPA进行数据查询(六)接口规范方法名查询

愉快的使用JPA进行数据查询(六)接口规范方法名查询

作者: 猪的尾巴 | 来源:发表于2023-08-25 15:19 被阅读0次

    前面说过,JpaRepository已经给我们提供了很强大的查询功能,基本能满足大部分场景,但是某些需求(如like查询),仍然会遇到困难。
    spring-data-jpa给我们提供了接口规范方法名查询方式,只要在我们继承了Repository接口的接口中使用JPA规范的方法命名,spring-data-jpa就可以反解出对应的sql语句。
    规范如下:

    Keyword Sample
    IsNotNull findByAgeNotNull
    Like findByNameLike
    NotLike findByNameNotLike
    StartingWith findByNameStartingWith
    EndingWith findByNameEndingWith
    Containing findByNameContaining
    OrderBy findByAgeOrderByName
    Not findByNameNot
    In findByAgeIn
    NotIn findByAgeNotIn
    True findByActiveTrue
    Flase findByActiveFalse
    And findByNameAndAge
    Or findByNameOrAge
    Between findBtAgeBetween
    LessThan findByAgeLessThan
    GreaterThan findByAgeGreaterThan
    IsNull findByAgeIsNull

    基本上所有的规范都非常好理解

    首先看一个场景,我们需要查询学生姓名中有jules的学生

    编写接口方法

    按照上述规范编写接口方法:

    List<Student> findByNameLike(String name);
    

    然后编写我们的测试方法

      @RequestMapping("findStudentByNameLike/{name}")
      public List<Student> addStudent(@PathVariable("name") String name){
        String selectName = "%" + name + "%";
        List<Student> students = studentDao.findByNameLike(selectName);
        return students;
      }
    

    编译一下我们的项目,在浏览器输入http://127.0.0.1:8080/findStudentByNameLike/jules就能查询到所有我们需要的结果。

    其他的方法可以自行测试,都很简单。

    相关文章

      网友评论

          本文标题:愉快的使用JPA进行数据查询(六)接口规范方法名查询

          本文链接:https://www.haomeiwen.com/subject/bztbmdtx.html