我试图想出一个动态查询,并基于我所做的研究,看起来像我最好的选择是选择生成器,因为我想使用注释而不是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元素?我的猜测是它是地图参数的一部分,但不知道如何访问它。
在此先感谢。