Mybatis @SelectProvider 注解使用
在Mapper 接口中使用@SelectProvider,
第1步:新建SelectProviderUtil 类以及selectTableAndColumn 方法
public class SelectProviderUtil {
public String selectTableAndColumn(Map<String, Object> param){
return new SQL(){
{
String column = param.get("column").toString();
String table = param.get("table").toString();
SELECT("${column}");
FROM("${table}");
GROUP_BY("${column}");
ORDER_BY("count(1) desc");
}}.toString();
}
}
第2步:在Mapper接口中,需要使用的方法上引用,Value就是类名,method就是方法名
@SelectProvider(value = SelectProviderUtil.class,method = "selectTableAndColumn")
public List<String> getcolumnbytable(@Param("column") String column,@Param("table")String table) ;
第3步:执行查询SQL语句