问题:在数据库中,由于数据量太多,把数据进行了横向分表。因此每次查询都要去查三张表(每一张表都是这样的结构)

 

网上的分表查询:使用了TableNameHandler。当使用MP提供的list方法时,只能查一张表。

注:MP的默认查询的表名是实体类类名的下划线形式。实体类名与表名不一致时,要自己定义

使用TableNameHandler时,达到的效果是:当一个查询操作,查某一个表时,如果设置了表名的Map映射,那么SQL语句的表名会修改成你设置的表名。

例子:

 代码实现的效果:当你去查data_part表时,SQL语句中的表名会自动转换成CheckPointTableNameParser的dynamicTableName方法的返回值

解决:最后还是使用了自己写SQL语句,用union实现,每个表都查一次

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐