前言 该文是基于上篇《MySQL主从分离的实现》的代码层实现,所以本文配置的主数据库和从数据库的数据源都是在上篇博文中已经介绍了的。 动态选择数据源的配置 由于我们在写数据的时候需要使用主库的数据源,读的时候需要从库的数据源,我们可以在Spring源码中,通过DataSource可以找到Abstra ...
分类:
数据库 时间:
2020-07-28 10:03:12
阅读次数:
74
工程上没有区别,编译器会进行优化,i++,++i并没有返回返回值 【编程实验】真的有区别吗? 40-1.cpp int i = 0; 013612FB mov dword ptr [i],0 0立即数放在i对应的4字节的内存 i++; 01361302 mov eax,dword ptr [i] i ...
分类:
其他好文 时间:
2020-07-27 09:21:14
阅读次数:
58
乐观锁&悲观锁 在操作数据前认为不会有其他人修改数据即为乐观锁,始终认为有人会修改数据即为悲观锁 解决的问题 我们可以首先看一下自增++操作的底层 为了让a加上1,首先我们需要读取a,也就是让b=a,然后我们要让b加1,也就是b=b+1,然后我们把b赋给a所在地址。 这是整个自增操作的底层原理。 但 ...
分类:
其他好文 时间:
2020-07-26 23:06:44
阅读次数:
63
经常有一些完美主义者问我,怎么让数据库的自增字段在记录被删除时重置它们的顺序,这里不去讨论这么折腾是否真有必要,只说说解决方法,有这方面需求的朋友不妨看看。 方法1、删除自增字段,然后重建(缺点就是必须记住自增字段的其它属性,不然可能会导致一些未知问题) ALTER TABLE `tablename ...
分类:
数据库 时间:
2020-07-25 10:02:01
阅读次数:
110
在网上搜到的一种算法是利用自增长变量进行排序,然后再根据位置序号取。感觉有些复杂了,还是group_concat来的省事些 1. 按顺序聚合,逗号分隔,并计数 group_concat( number order by number asc) 2. 根据逗号拆分,判断奇偶数去截取中间位置的那个数 具 ...
分类:
数据库 时间:
2020-07-22 21:01:59
阅读次数:
111
分布式 ID 在庞大复杂的分布式系统中,通常需要对海量数据进行唯一标识,随着数据日渐增长,对数据分库分表以后需要有一个唯一 ID 来标识一条数据,而数据库的自增 ID 显然不能满足需求,此时就需要有一个能够生成全局唯一 ID 的系统,需要满足以下条件: 全局唯一性:最基本的要求就是不能出现重复的 I ...
分类:
其他好文 时间:
2020-07-22 20:53:59
阅读次数:
77
1.新建空项目 2.创建实体类库 创建实体 public class UsersInfo { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] //设置自增 public int SeqNum { get; set; } [Key,MaxLe ...
分类:
数据库 时间:
2020-07-21 21:47:18
阅读次数:
78
JDBC 获取自增长id以及表的元数据 步骤 1 : 获取自增长id 在Statement通过execute或者executeUpdate执行完插入语句后,MySQL会为新插入的数据分配一个自增长id,(前提是这个表的id设置为了自增长,在Mysql创建表的时候,AUTO_INCREMENT就表示自 ...
分类:
数据库 时间:
2020-07-21 01:13:23
阅读次数:
76
设置字段的数据类型为serial create table test_searial(id serial,id2 serial2); -- 查看自增的设置: SELECT c.relname FROM pg_class c WHERE c.relkind = 'S'; `` ...
分类:
其他好文 时间:
2020-07-20 22:39:46
阅读次数:
106
<resultMap>、<parameterMap>、<sql>、<include>、 <selectKey>,加上动态 sql 的 9 个标签,其中<sql>为 sql 片段标签,通过 <include>标签引入 sql 片段,<selectKey>为不支持自增的主键生成策略标 签。 ...
分类:
其他好文 时间:
2020-07-20 10:47:03
阅读次数:
90