Sharding-JDBC 操作公共表

x33g5p2x  于2021-11-11 转载在 其他  
字(1.1k)|赞(0)|评价(0)|浏览(236)

一 什么是公共表

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 测试删除 **

相关文章