就记录个实例,以后可以参考= =
方法一:provider
public class ArticleProvider {
public String selectAll(Map map) {
return new SQL() {{
SELECT("sz_article.*,sz_article_category.name");
FROM("sz_article");
LEFT_OUTER_JOIN("sz_article_category on sz_article.category_id = sz_article_category.id");
if (map.get("categoryId") != null) {
WHERE("category_id = #{categoryId}");
}
if (StringUtils.isNotEmpty((String) map.get("key"))) {
WHERE("title like CONCAT('%',#{key},'%')");
}
}}.toString();
}
}
mapper
@SelectProvider(type = ArticleProvider.class,method = "selectAll")
@Results(@Result(property = "category.name",column = "name"))
List selectAllWithCategory(Long categoryId,String key);
一些参考资料:
方法二:使用if标签
需要配合script标签使用
@Select("")
@Results(@Result(property = "category.name", column = "name"))
List selectAllWithCategory(Long categoryId, String key);