主题:继承BaseMapper接口,能不能修改SqlManager?

不回嵩山 2018年03月09日 330

系统内所有的mapper类都继承BaseMapper接口,能使用内置的各种功能,挺好的。

仓库相关数据在数据库A:ADao继承BaseMapper,使用SqlManagerA连接DBa;

销售相关数据在数据库B:BDao继承BaseMapper,使用SqlManagerB连接DBb,

BaseMapper里的连接如果能修改就可以了,能不能实现?


目前采用的方式是,自打造一个BaseMapperBase,内置各种增删改查功能。

BaseMapperA:BaseMapperBase,内置一个SqlManagerA;

BaseMapperB:BaseMapperBase,内置一个SqlManagerB;

ADao:BaseMapperA,

BDao:BaseMapperB,

不使用BeetlSql里的BaseMapper,使用自打造的BaseMapperBase、BaseMapperA、BaseMapperB,实现了效果。

但BaseMapperBase的功能不如BaseMapper强大,几乎要复制BaseMapper里的所有功能,重复开发了。

闲大赋 2018年03月10日

官网文档有讲如何实现自己的BaseMappper功能,参考25.7. 设置自己的BaseMapper。

一般这么做可能是需要减少一些不需要的功能,如deleteById,这很多场景不允许执行,加上一些自己特定的功能