最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Spring Data Jpa 模糊查詢的正確用法

 更新時間:2018年05月03日 13:42:21   作者:那年初二  
本篇文章主要介紹了詳解Spring Data Jpa 模糊查詢的正確用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

模糊查詢

Spring Data Jpa的使用可以減少開發(fā)者對sql語句的編寫,甚至完全不需要編寫sql語句。但是,開發(fā)過程中總會遇到各種復雜的場景以及大大小小的坑。

今天項目中某個功能模塊需要用到模糊查詢。原生sql中模糊查詢關鍵字‘Like',而Spring Data Jpa的Repository接口中恰恰也有實體字段對應的Like。但是,如果直接使用它,那么恭喜你,你幸運地掉坑了。

Spring Data Jpa 模糊查詢正確用法

首先,我們先創(chuàng)建一個實體用來存儲我們的數(shù)據(jù)

/**
 * 實體
 *
 * @author chentai
 * @date 18/04/22
 */
@Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class ExampleEntity{
  @Id
  @GeneratedValue(generator = "uuid")
  @GenericGenerator(name = "uuid", strategy = "uuid")
  private String Id ;
  private String username;
  private String deviceNames;
}

接著,創(chuàng)建我們實體對應的Repository接口

/**
 * @author chentai
 * @date 18/04/22
 */
@Repository
public interface ExampleRepository extends CrudRepository<ExampleEntity, String> {

  /**
   * 模糊查詢正確用法
   * 其中username不支持模糊查詢,deviceNames支持模糊查詢
   *
   * @param deviceNames 模糊查詢deviceNames
   * @param username 用戶名稱
   * @return {@link List<ExampleEntity>}
   */
  List<ExampleEntity> findAllByDeviceNamesContainingAndUsername(String deviceNames,String username);  
  /**
   * 模糊查詢錯誤用法
   * 其中username不支持模糊查詢,deviceNames支持模糊查詢
   *
   * @param deviceNames 模糊查詢deviceNames
   * @param username 用戶名稱
   * @return {@link List<ExampleEntity>}
   */
  List<ExampleEntity> findAllByDeviceNamesLikeAndUsername(String deviceNames,String username); 
}

最后,在測試類中測試ExampleRepository中的兩個方法,(測試結果暫不展示)發(fā)現(xiàn)findAllByDeviceNamesLikeAndUsername方法并沒有正確查詢到我們想要的結果,得到的結果是精確查詢的結果。而findAllByDeviceNamesContainingAndUsername得到了我們想要的模糊查詢的結果。

總結

如果想要在項目中不編寫sql原生語句的情況下使用模糊查詢,請使用Containing關鍵字,而非想當然的認為原生使用Like關鍵字,JPA中也是使用Like關鍵字。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

探索| 抚松县| 大丰市| 肇东市| 永新县| 日土县| 鸡西市| 新田县| 鱼台县| 洞口县| 古蔺县| 哈巴河县| 九台市| 尉氏县| 康马县| 楚雄市| 曲阜市| 屏东市| 铁岭市| 慈利县| 观塘区| 南皮县| 汶上县| 洛扎县| 耒阳市| 沐川县| 浦东新区| 嘉义市| 密山市| 文水县| 福鼎市| 凤冈县| 阳江市| 安化县| 涡阳县| 七台河市| 密云县| 安平县| 绿春县| 巴中市| 眉山市|