为了账号安全,请及时绑定邮箱和手机立即绑定

老师请问 ,多线程(假如很多用户)使用动态表名这个功能

老师 ,想请问下如果很多人都在用某个系统的时候,10个请求去查user_2001表,10个请求去查user_2002表,10个请求去查user_2003表 ...等等

按照老师配的这种

public static ThreadLocal<String> myTableName=new ThreadLocal<String>();
MybatisPlusConfig.myTableName.set("user_2001");

以 threadlocal设置每个请求的想去访问的动态表 这样子就算用户请求有很多,也能准确查询出每个用户想要查看的表是吗。


正在回答

2 回答

       如果是web项目,可以这样写,但是别忘了,在使用结束时,要清空ThreadLocal变量,防止被线程池重用。web处理请求时,只要没处理完,当前处理请求的当前线程就不会释放,不会乱掉的。

      还有一个处理办法,将动态表名放到request对象中也可以,然后再从request中取。


1 回复 有任何疑惑可以回复我~

+1~

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

老师请问 ,多线程(假如很多用户)使用动态表名这个功能

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信