最近项目中有几张业务表数据量较其他业务表数据量大很多,所有就考虑分表。因为DAO层使用的是tk.
mybatis通用插件,所以就抽时间看了下 tk.
mybatis源码,以求得不改变任何业务代码实现个性化分表功能。最终得到以下实现方案。
1、tk.
mybatis中有一个IDynamic
TableName接口,实现此接口就可在CRUD中实现
动态表名。
文章目录一、@TableName二、@TableId三、@TableField四、@TableLogic
一、@TableName
经过以上的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在 Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表
由此得出结论,MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决定,且默认操作的表名和实体类型的类名一致
若实体类类型的类名和要操作的表的表名不一致,会