查詢方法定義 String Data JPA

摘要: 方法級別的查詢,針對findBy, find, readBy, read, getBy等前綴的方法,解析方法字符串,生成查詢語句



Spring Data JPA 爲此提供了一些表達條件查詢的關鍵字,大致如下:

    And --- 等價於 SQL 中的 and 關鍵字,比如 findByUsernameAndPassword(String user, Striang pwd);
    Or --- 等價於 SQL 中的 or 關鍵字,比如 findByUsernameOrAddress(String user, String addr);
    Between --- 等價於 SQL 中的 between 關鍵字,比如 findBySalaryBetween(int max, int min);
    LessThan --- 等價於 SQL 中的 "<",比如 findBySalaryLessThan(int max);
    GreaterThan --- 等價於 SQL 中的">",比如 findBySalaryGreaterThan(int min);
    IsNull --- 等價於 SQL 中的 "is null",比如 findByUsernameIsNull();
    IsNotNull --- 等價於 SQL 中的 "is not null",比如 findByUsernameIsNotNull();
    NotNull --- 與 IsNotNull 等價;
    Like --- 等價於 SQL 中的 "like",比如 findByUsernameLike(String user);
    NotLike --- 等價於 SQL 中的 "not like",比如 findByUsernameNotLike(String user);
    OrderBy --- 等價於 SQL 中的 "order by",比如 findByUsernameOrderBySalaryAsc(String user);
    Not --- 等價於 SQL 中的 "! =",比如 findByUsernameNot(String user);
    In --- 等價於 SQL 中的 "in",比如 findByUsernameIn(Collection<String> userList) ,方法的參數可以是 Collection 類型,也可以是數組或者不定長參數;
    NotIn --- 等價於 SQL 中的 "not in",比如 findByUsernameNotIn(Collection<String> userList) ,方法的參數可以是 Collection 類型,也可以是數組或者不定長參數;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章