我正在尝试提出一个动态查询,根据我所做的研究,看起来我最好的选择是选择构建器,因为我想使用注释而不是 XML。
我有两个参数;我要传递给此查询构建器方法的列表和对象。我可以毫无问题地使用该对象,但无法从该方法访问列表。
这是我的映射器界面:
@SelectProvider(type = ProductProvider.class, method = "getProductByBrandByCategory")
List<Product> getProductListByBrandByCategory(@Param("brandList") List<Brand> brandList, @Param("category") Category category);
这是 ProductProvider 类的 getProductByBrandByCategory 方法:
public String getProductByBrandByCategory(Map params) {
return new SQL() {{
SELECT("*");
FROM("product");
WHERE("category_id = #{category.id}");
}}.toString();
}
基本上,我正在尝试遍历列表以根据列表中的元素添加和/或/where 语句。
有没有办法可以访问brandList 元素?我的猜测是它是 Maps 参数的一部分,但不知道如何访问它。
提前致谢。