我有接口personMapper和类似的方法。
public interface EmployeeMapper {
@SelectProvider(type = EmployeeMapperImpl.class, method = "getAll")
List<Employee> getAll();
//similar methods
}
而且我对整个界面也有一个类
public class EmployeeMapperImpl{
public String getAll() {
return new SQL().
SELECT("*").
FROM(Employee.class.getSimpleName()).toString();
}
}
我想知道是否有可能,如何标记与已定义的类关联的接口,以免在每种方法中都写“ type = EmployeeMapperImpl”?并且完全摆脱了编写方法=“ getAll”,因为其标题在类和接口中都是相同的。我想得到类似的东西
@ProviderForAllMethods("EmployeeMapperImpl")
public interface EmployeeMapper {
//and methods are associeted by their names(the same in class and constructor)
List<Employee> getAll();
//similar methods
}
感谢您的帮助
method
。 type
(当前最新为3.5.4)。要省略method
,您的SQL提供程序类需要实现ProviderMethodResolver
接口。如您所料,默认实现将搜索与接口方法同名的提供者方法。
ProviderMethodResolver
此外,我们在3.5.2版中将SQL提供程序批注的public class EmployeeMapperImpl implements ProviderMethodResolver {
属性作为type
的别名,因此您的映射器方法可以更简单一些。
value