MyBatis的映射文件中,前面我們的SQL都是比較簡單的,有些時候業務邏輯複雜時,我們的SQL是動態變化的,此時在前面的學習中我們的SQL就不能滿足要求了。
參考的官方文檔,描述如下:
1 動態SQL之<if>標籤
我們根據實體類的不同取值,使用不同的SQL語句來進行查詢。比如在id如果不爲空時可以根據id查詢,如果username不同空時還要加入用戶名作爲條件。這種情況在我們的多條件組合查詢中經常會碰到。
1.1 持久層Dao接口
/**
* 根據用戶信息,查詢用戶列表
* @param user
* @return
*/
List<User> findByUser(User user);