在SASS的大潮流下,相信依然存在很多使用一个数据库为多个租户提供服务的场景,这个情况下一般是多个租户共用同一套表通过sql语句级别来隔离不同租户的资源,比如设置一个租户标识字段,每次查询的时候在后面附加一个筛选条件:TenantId=xxx.这样能低代价.简单地实现多租户服务,但是每次执行sql的时候需要附加字段隔离,否则会出现数据错乱. 此隔离过程应该自动标识完成,所以我今天借助于Mybatis的插件机制来完成一个多租户sql隔离插件. 一.设计需求 1.首先,我们需要一种方案来识别哪些表需