MyBatis 中查詢數據:硬編碼還是動態參數?

MyBatis 中查詢數據:硬編碼還是動態參數?

硬編碼與動態參數在 mybatis 中的選擇

當使用 MyBatis 從數據庫中查詢特定條件的數據時,需要考慮在 sql 語句中是直接寫入條件還是動態傳入參數。以查詢 type=cat 的 animal 數據為例,我們可以直接在 SQL 語句中指定 type 條件,也可以在 mapper 方法中將 type 作為參數傳入。

對于此例,直接在 SQL 語句中寫死 type 條件比較方便,但對于需要更為靈活的方法時,例如根據不同類型參數獲取數據,則建議在 Mapper 方法中動態傳入參數。這樣可以避免硬編碼,更靈活的處理不同條件的查詢。

在 Service 層,可以根據業務需求考慮是否需要將傳入 Mapper 方法的參數抽象成更通用的方法。例如,如果有多個方法需要根據 type 參數獲取數據,則可以在 Service 層定義一個根據類型枚舉獲取數據的方法。Controller 層只需調用該方法并傳入相應的 type 枚舉值即可。

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享