工作學習筆記(十七)MyBatis中eq和like

小张不嚣张。發表於2024-11-29
  • 含義及功能

  • eq(等於):

eq代表的是 “等於” 的比較關係,用於精確匹配,也就是判斷兩個值是否完全相等。可透過eq條件可以篩選出資料庫表中欄位值與指定值完全一致的資料記錄。例如,查詢的資料有“L”,“Like”,“LLL”時。eq的條件是 = “L”,那麼就只會輸出“L”這一條資料。

  • like(模糊匹配):

like用於模糊匹配操作,主要針對字串型別的欄位,藉助特定的萬用字元來查詢符合某種模式的記錄。在 MyBatis 裡常用的萬用字元有 “%”(表示零個或多個字元)以及 “_”(表示單個任意字元)。例如,查詢的資料有“L”,“Like”,“LLL”時。like的條件是 = “L”,那麼就只會輸出“L”,“Like”,“LLL”這三條資料。

  • 應用場景區別

  • eq應用場景:

當確切知道要查詢的欄位的具體值時,使用eq進行精確匹配查詢。比如透過使用者的唯一標識(如主鍵 ID)去獲取特定使用者的詳細資訊;或者根據某個列舉型別對應的具體值來篩選出符合該確定狀態的記錄,像查詢訂單狀態為 “已支付”(假設 “已支付” 在資料庫中用特定數值或字串表示且是唯一確定的)的所有訂單等情況。

  • like應用場景:

常用於只掌握部分資訊,需要從大量資料中篩選出包含特定文字片段的記錄的場景。例如在一個文章管理系統中,透過輸入文章標題中的部分關鍵字來查詢相關文章;或者在客戶資訊表中,根據客戶姓名中的部分字來查詢可能符合要求的客戶記錄,這時候就依靠like的模糊匹配功能來滿足需求。

  • 總結

在 MyBatis 中,eq主要用於精確匹配相等的值,實現精準查詢資料的目的,而like側重於模糊匹配,藉助萬用字元在字串欄位中按照一定模式查詢相關記錄,它們在構建不同型別的查詢條件時發揮著各自重要的作用。

相關文章