mybatis-plus-join-boot-starter是MyBatis - Plus的一个增强工具包,用于简化开发。 功能特点 简化多表操作:它是MyBatis - Plus的扩展,让开发者能更便捷地进行多表关联查询、子查询等操作,通过简洁的API满足复杂查询需求。例如,在进行多表联合查询时,无需编写大量复杂的S […]
mybatis-plus-join-boot-starter是MyBatis - Plus的一个增强工具包,用于简化开发。 功能特点 简化多表操作:它是MyBatis - Plus的扩展,让开发者能更便捷地进行多表关联查询、子查询等操作,通过简洁的API满足复杂查询需求。例如,在进行多表联合查询时,无需编写大量复杂的S […]
AbstractRoutingDataSource 是 Spring 框架中的一个抽象类,它位于 org.springframework.jdbc.datasource.lookup 包下,主要用于实现动态数据源的切换。以下将从其作用、原理、使用步骤和示例代码等方面进行详细介绍。 介绍 作用 在一些复杂的业务场景中,可 […]
1. 引言 存储过程和存储函数类似于面向对象程序设计语言中的方法,可以简化代码,提高代码的重用性。本文主要介绍如何创建存储过程和存储函数,以及存储过程与函数的使用、修改、删除等操作。 2. 存储过程与存储函数 MySQL中提供存储过程与存储函数机制,我们姑且将存储过程和存储函数合称为存储程序。与一般的SQL语句需要先编 […]
图数据库(Graph Database)是一种以图结构进行存储和查询的数据库。本文总结了图数据库选型的各类因素,并对比了3个主流开源图数据库:Neo4j、JanusGraph、HugeGraph。Neo4j是老牌的图数据库,JanusGraph是非常成功的开源图数据库TitanDB的Fork版(TitanDB已经不维护 […]
如果你想破解一个已经连接好的数据库密码,可以参考这个方法。 邮件查看已经连接好的数据库属性是这样的 但是密码是******谁也看不懂,博主也从网站上下载过一些星星查看器之类的东西,都无济于事。 接下来就是尝试导出这些连接属性,选择文件---->导出连接,勾选想要导出的数据库,导出.ncx后缀的文件 打开导出后的文 […]
LDC(logic data center)是相对于传统的(Internet Data Center-IDC)提出的,逻辑数据中心所表达的中心思想是无论物理结构如何的分布,整个数据中心在逻辑上是协同和统一的。这句话暗含的是强大的体系设计,分布式系统的挑战就在于整体协同工作(可用性,分区容忍性)和统一(一致性)。单元化是 […]
数据库事务的隔离级别有4种,由低到高分别是:Read uncommitted、Read committed、Repeatable read、Serializable。事物的并发操作中可能出现脏读,不可重复读,幻读。 数据库事务隔离级别: 未授权读取级别(读未提交): 也称为读未提交(Read Uncommitted)。 […]
本文主要总结下重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)的概念。 redo log 是物理日志,undo log 和 binlog 是逻辑日志 binlog二进制日志是server层的无论MySQL用什么引擎,都会有的,主要是左主从复制,时间点恢复使用 redo log重做日 […]
有一个奇怪的问题,假如MySQL 的自增 ID 用完了,怎么办? 这个知识点比较冷门,不过可以自己手动实践下。 首先,创建一个最简单的表,只包含一个自增id,并插入一条数据。 create table t0(id int unsigned auto_increment primary key) ; insert int […]
SQL规范性检查 select检查 UDF用户自定义函数 SQL语句的select后面使用了自定义函数UDF,SQL返回多少行,那么UDF函数就会被调用多少次,这是非常影响性能的。 #getOrderNo是用户自定义一个函数用户来根据order_sn来获取订单编号 select id, payment_id, orde […]
一、MySQL语法顺序,即当SQL中存在下面的关键字时,它们要保持这样的顺序: SELECT [ DISTINCT ] FROM JOIN(如LEFT JOIN) ON WHERE GROUP BY HAVING UNION ORDER BY LIMIT 二、MySQL执行顺序,即在执行时SQL按照下面的 […]
引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解 […]
单独的数据库: 微服务设计的一个关键是数据库设计,基本原则是每个服务都有自己单独的数据库,而且只有微服务本身可以访问这个数据库。它是基于下面三个原因。 优化服务接口:微服务之间的接口越小越好,最好只有服务调用接口(RPC或消息),没有其他接口。如果微服务不能独享自己的数据库,那么数据库也变成了接口的一部分,这大大拓展了 […]
四大特性(ACID): 原子性(Atomicity) 原子性指事务所包含的所有操作要么全部成功,要么全部失败回滚。 一致性(Consistemcy) 一致性是指事务必须使数据库从一个一致性状态改变到另外一个一致性状态,也就是说事务执行之前和执行之后都必须处于一致性状态。 隔离性(Isolation) 隔离性是当多个用户 […]
参照mongoDB的ID生成策略,生成唯一ID。 一共12个字节(示例:5cecf0a8a7573ea439fa1a89) 前4个字节表示时间戳 再往后数3个字节表示运行当前程序的机器ID 再往后2个字节表示生成此id的进程的ID 最后3个字节表示由一个随机数开始的计数器生成的值 然后转为16进制的字符串。 源码如下: […]
众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。