美文网首页
MyBatis的@SelectProvider

MyBatis的@SelectProvider

作者: 养一只tom猫 | 来源:发表于2022-01-07 16:40 被阅读0次

@SelectProvider在写公用方法时由为好用。
举个例子:要统计每个表中的数据,就可以通过@SelectProvider来实现。
实现如下:

@Component
public interface CountDao {

    @SelectProvider(value = CountDaoProvider.class, method = "getCount")
    String getCount(String tableName);

}
public class CountDaoProvider {

// 方法需要是公开(底层使用的动态代理)的否则会抛异常,并且不要重载方法避免出现奇怪问题
    public String getCount(String tableName) {
        return new SQL(){
            {
                SELECT("count(1)");
                FROM(tableName);
            }
        }.toString();
    }

}

使用CountDao只需要正常@Autowired注入即可。
之后只需要传入表名即可查询出了。

相关文章

网友评论

      本文标题:MyBatis的@SelectProvider

      本文链接:https://www.haomeiwen.com/subject/lbwjcrtx.html