mybatis 动态传入表名 注解_mybatis动态sql(注解方式)
就記錄個實例,以后可以參考= =
方法一: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);
總結
以上是生活随笔為你收集整理的mybatis 动态传入表名 注解_mybatis动态sql(注解方式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推特迎来巨大变化:推文字数限制提高到 4
- 下一篇: 苹果将在 iOS 16.4 中重新发布新