多数据源在之前的单数据源需要改动部分配置
如果要分成2个数据、1个表
实际上会有3个数据库
freyja freyja_0 freyja_1
原库保留 freyja的t_user 要进行分库、分表
就要在 freyja_0、freyja_1 创建 t_user_0(分1个表 就创建一个 2个表就创建2个,t_user_0、t_user_1)
USE `freyja_0`; DROP TABLE IF EXISTS `t_user_0`; CREATE TABLE `t_user_0` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `open_Id` varchar(255) DEFAULT NULL, `nickName` varchar(255) DEFAULT NULL, PRIMARY KEY (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
USE `freyja_1`; DROP TABLE IF EXISTS `t_user_0`; CREATE TABLE `t_user_0` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `open_Id` varchar(255) DEFAULT NULL, `nickName` varchar(255) DEFAULT NULL, PRIMARY KEY (`uid`) ) ENGINE=InnoDB AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
为了保证实体主键唯一,每个表的自动增长量不同。根据 spring-db 配置文件里面的
<bean id="myShardingStrategy" class="com.guyu.data.core.dao.MyShardingStrategy"> <property name="tableNum" value="1" /> <property name="dbNum" value="2" /> <property name="idSubNum" value="1000000" /> </bean>
来确定怎么切分、主键自动增长量为多少。
被切分的表对应的实体需要标识为 切分
@Table(name = "t_user", isSubTable = true) public class User {
isSubTable =true
同时用annotation标识出根据哪个字段来切分
@Column(name = "open_id") @SubColumn(isSubColumn = true) private String openId;
isSubTable = false来关闭切分
准备完之后,freyja 就会通过数据源切换来访问数据。 一共是3个数据源,1个默认 2个切分。
User 数据就只会保留在 freyja_0 freyja_1 里面。 UserProperty 没有被切分就只是用 freyja 本库数据。
附件就是 多数据源版本代码,sql在config里面。
ps:多数据源因为没有实际使用需求所以没有过多测试等等,具体的使用方法、原理之前文章应该有给出介绍
相关推荐
"Freyja v2版本发布"标志着这个开源工具的最新迭代,它主要专注于提供源码管理和分析功能。在本文中,我们将深入探讨Freyja的新特性、改进以及它如何帮助开发者提高工作效率。 首先,Freyja作为一个源码工具,其v2...
"单数据源版"指的是该项目使用单一的数据存储,而不是多数据源架构。这通常在初期项目或简单应用中常见,以便简化数据库管理和数据一致性。 描述中的 "NULL" 没有提供额外的信息,但我们可以从博客链接推测,该项目...
总结起来,"Freyja更新"涉及到的知识点包括开源文化、软件工具的更新与维护、源代码管理和版本控制、软件开发流程、以及如何适应和利用新版本的特性和改进。如果想深入了解,可以阅读提供的博文链接,获取更详尽的...
由于没有具体的功能描述,我们可以假设Freyja可能涵盖了多种工具常见的功能,比如版本控制、构建管理、代码质量检查、性能分析等。 在压缩包文件名称列表中,只有一个文件名 "freyja" 提供,这可能是指整个项目的源...
这意味着 freyja 可能是一个开源工具,提供源代码供开发者研究、定制和改进。"工具" 指出它可能是用于服务器管理、监控、优化或自动化等目的的实用程序。 由于没有具体的文章内容,我将基于一般服务器性能优化的...
NULL 博文链接:https://freyja.iteye.com/blog/1278881
1. **源码管理**:开源工具通常涉及到源码管理和版本控制,如Git,所以Freyja可能与Git集成,允许用户管理代码仓库。 2. **自动化**:作为一个工具,Freyja可能包含自动化脚本编写和执行的功能,例如支持CI/CD...
从页面下载最新版本的Freyja并将其解压缩。 从下载模型。 下载所有txt和torchscript文件,并将这些文件放入<app>/models/文件夹中。 运行freyja.exe 。 如果您有Nvidia GPU,则启用“ Enable CUDA选项,否则禁用该...
FREYJA freyja是一个轻量级的blog系统,使用vue-ssr,首屏在服务端渲染,之后的所有请求都由浏览器自行路由。...配合http2多路复用,首屏渲染完成时间可以控制在300ms以内(公网环境下,网络延迟约30ms),
您提供一个接受组件props和应用程序theme的函数,并返回样式图( (theme, props, helpers) => ({key1: style, key2: style}) ), useStyles将返回类名的地图(像{key1: className, key2: className} )。...
matlab有些代码不运行Freyja仿真器 在MATLAB / Simulink(TM)和SimScape(TM)框架内构建的,适用于多直升机系统的高保真物理模拟器。 Freyja的库元素允许对连接多轴直升机和各种其他对象(例如电缆)的运动树进行...
标题“jre-超级精简普通版版”指的是一个针对...通过阅读博客文章,我们可以获取更多关于如何构建、优化以及使用这个特殊版本JRE的信息。对于那些需要节省系统资源的项目或环境,这个版本的JRE可能是理想的解决方案。
NULL 博文链接:https://freyja.iteye.com/blog/1167392
魔幻现实Magic Reality Mod Pack (Minecraft) 的官方 Github 页面#Mods 模组作者版本苹果核Squeek502 1.1.0 水产养殖Shadowclaimer, Lclc98, Freyja, Rebelkeithy 1.2.5.8 护甲状态HUD 业务员1.28 背包埃达莫斯2.0.1...
回到Freislenbator-crx,这款插件的名称可能源于一种幽默或网络文化元素,"Freislenbator"可能是创造者为插件赋予的虚构名称,与“Freyja”(北欧神话中的爱与美的女神)或者“free image”(免费图片)有关,但具体...