🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 定义自己的BaseMapper BeetlSQL提供了一个BaseMapper,实际上,你可以定制BaseMapper,或者提供任意多的"BaseMapper" 自定义Mapper可以继承BaseMapper,也可以不继承。 ```java public interface MyBaseMapper<T> { @AutoMapper(InsertAMI.class) void insertOne(T entity); @AutoMapper(UpdateByIdAMI.class) int updateOneById(T entity); } ``` 如上MyBaseMapper,提供了insertOne,updateOneById方法,这俩个方法的解释都是通过@AutoMapper申明的类来解释的,比如insertOne是通过InsertAMI来实现的,这是BeetlSQL内置的,其定义如下 ```java public class InsertAMI extends MapperInvoke { @Override public Object call(SQLManager sm, Class entityClass, Method m, Object[] args) { int ret = sm.insert(args[0]); return ret; } } ``` InsertAMI必须是MapperInvoke的子类,实现call方法即可,call方法有三个参数 * SQLManager sm BeetlSQL的基础核心类 * Class entityClass 翻新申明的类 * Method m 此mapper方法 * Object[] args 参数 MapperInvoke有非常多的子类,实际上本章的每个mapper实现,都是MapperInvoke的一个子类,如果想进一步了解如何定制Mapper,参考本书《扩展BeetlSQL3》