硬編碼與動態參數在 mybatis 中的選擇
當使用 MyBatis 從數據庫中查詢特定條件的數據時,需要考慮在 sql 語句中是直接寫入條件還是動態傳入參數。以查詢 type=cat 的 animal 數據為例,我們可以直接在 SQL 語句中指定 type 條件,也可以在 mapper 方法中將 type 作為參數傳入。
對于此例,直接在 SQL 語句中寫死 type 條件比較方便,但對于需要更為靈活的方法時,例如根據不同類型參數獲取數據,則建議在 Mapper 方法中動態傳入參數。這樣可以避免硬編碼,更靈活的處理不同條件的查詢。
在 Service 層,可以根據業務需求考慮是否需要將傳入 Mapper 方法的參數抽象成更通用的方法。例如,如果有多個方法需要根據 type 參數獲取數據,則可以在 Service 層定義一個根據類型枚舉獲取數據的方法。Controller 層只需調用該方法并傳入相應的 type 枚舉值即可。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END