项目单表数据量太大了,数据库又没有做集群,没有做集群的要求,使用尽量少的中间件,也没有用MyCat等.
思路:表命名要有规则,比如我这里一个月新建一个表,创建的时候自动创建,我这里使用了一个quartz定时器,设置每个月都30号来创建下个月要用到的表. 表名比如:test_2022_08,test_2022_09..
这样.
好开始弄吧:
1.TestMapper,首先在mapper类文件中写入:
/**
* @author 脑瓜凉 2022年8月19日 09:14:43
*/
public interface TestStuMapper extends BaseMapper<TestStu> {
/**
* 获取当前连接的数据库名
* @return
*/
@Select("SELECT DATABASE();")
String selectDbName();
/**
* 判断某个表是否存在
* @return
*/
@Select("SELECT COUNT(*) FROM INFORMATION_SCHEMA.`TABLES` WHERE TABLE_SCHEMA = #{dbName}" +
" AND TABLE_NAME = #{tableName}")
int exitTable(@Param("tableName") String tableName,@Param("dbName") String dbName);
/**