一 什么是公共表
1 存储固定数据的表,表数据很少发生变化,查询时候经常进行关联
2 在每个数据库中创建出相同结构公共表
二 在多个数据库都创建相同结构公共表
CREATE TABLE `t_udict` (
`dictid` bigint(20) NOT NULL,
`ustatus` varchar(100) NOT NULL,
`uvalue` varchar(100) NOT NULL,
PRIMARY KEY (`dictid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
三 在项目配置文件 application.properties 进行公共表配置
# 配置公共表
spring.shardingsphere.sharding.broadcast-tables=t_udict
spring.shardingsphere.sharding.tables.t_udict.key-generator.column=dictid
spring.shardingsphere.sharding.tables.t_udict.key-generator.type=SNOWFLAKE
四 创建实体类和 mapper
@Data
@TableName(value = "t_udict")
public class Udict {
private Long dictid;
private String ustatus;
private String uvalue;
}
@Repository
public interface UdictMapper extends BaseMapper<Udict> {
}
五 编写测试代码
//======================测试公共表===================
// 添加操作
@Test
public void addDict() {
Udict udict = new Udict();
udict.setUstatus("a");
udict.setUvalue("on");
udictMapper.insert(udict);
}
// 删除操作
@Test
public void deleteDict() {
QueryWrapper<Udict> wrapper = new QueryWrapper<>();
//设置userid值
wrapper.eq("dictid", 664185932202639361L);
udictMapper.delete(wrapper);
}
六 测试效果
1 测试添加
2 测试删除