我試圖想出一個動態查詢,並基於我所做的研究,看起來像我最好的選擇是選擇生成器,因爲我想使用註釋而不是XML。MyBatis選擇生成器
我有兩個參數;一個列表和一個對象,我想傳遞給此查詢生成器方法。我可以使用沒有問題的對象,但不能從方法訪問列表。
這裏是我的映射器接口:
@SelectProvider(type = ProductProvider.class, method = "getProductByBrandByCategory")
List<Product> getProductListByBrandByCategory(@Param("brandList") List<Brand> brandList, @Param("category") Category category);
這裏是getProductByBrandByCategory方法是ProductProvider類:
public String getProductByBrandByCategory(Map params) {
return new SQL() {{
SELECT("*");
FROM("product");
WHERE("category_id = #{category.id}");
}}.toString();
}
基本上,我試圖通過列表迭代添加和/或/ where語句基於列表中的元素。
有沒有一種方法可以訪問brandList元素?我的猜測是它是地圖參數的一部分,但不知道如何訪問它。
在此先感謝。