一.tk.mybatis已经为我们封装好了许多拆箱即用的通用mapper,但在实际的项目开发中想必不少小伙伴在数据库设计中都会采用逻辑删除这种方案,再去使用通用的mapper接口就不行了。
这时候就需要我们封装一些扩展的通用Mapper接口。
二.项目中提供了大量现成的方法,这些方法可以作为扩展时的参考。
例如 selectAll 方法。
首先定义接口:
@RegisterMapper
public interface SelectAllMapper {
/**
* 查询全部结果
*
* @return
*/
@SelectProvider(type = MySelectProvider.class, method = "dynamicSQL")
List selectAll();
}
其中 MySelectProvider 是你要实现的一个类,该类需要继承 MapperTemplate。@RegisterMapper 注解可以避免 mappers 参数配置,通用 Mapper 检测到该接口被继承时,会自动注册。
import org.apache.ibatis.mapping.MappedStatement;
import tk.mybatis.mapper.mapperhelper.MapperHelper;
import tk.mybatis.mapper.mapperhelper.MapperTemplate;
import tk.mybatis.mapper.mapperhelper.SqlHelper;
public class MySelectProvider exte