数据库
夏天秃头之路
这个作者很懒,什么都没留下…
展开
-
mysql RR级别下可重复读测试
以下测试数据都是在RR隔离级别下情况1事务A 先执行START TRANSACTION;select * from t where id=1;SELECT SLEEP(10);update t set value=value+1 where id=1;select * from t where id=1;COMMIT;事务B 后执行START TRANSACTION;update t set value=value+1 where id=1;COMMIT;执行流原创 2022-02-18 15:07:39 · 647 阅读 · 0 评论 -
Mybatis注意事项
在mybatis中,使用flag为string类型传入,其值也是“1”,但是这个等式的返回结果是false最后发现mybatis将’1’解析为char类型,所有不相等可将改为或者这个误区在使用mybatis好多年都没有发现,所以尽量不要使用单字符的String字符串来进行比较mybatis是用OGNL表达式来解析的,在OGNL的表达式中,单引号里单个字符会被解析成char类型(多个字符是可以的),java是强类型的,char 和一个string 会导致不等...原创 2021-04-29 09:35:07 · 177 阅读 · 0 评论 -
Mysql锁
mysql死锁在并发系统中不同线程出现循环资源依赖,涉及的线程都在等待别的线程释放资源时,就会导致这几个线程都进入无限等待的状态,称为死锁事务A在等待事务B释放id=2的行锁,而事务B在等待事务A释放id=1的行锁。事务A和事务B在互相等待对方的资源释放,就是进入了死锁状态。当出现死锁以后,有两种策略:一种策略是,直接进入等待,直到超时。这个超时时间可以通过参数innodb_lock_timeout来设置另一种策略是,发起死锁检测,发现死锁后,主动回滚死锁链条中的某一个事务,让其他事务得以执原创 2021-03-28 19:30:11 · 68 阅读 · 0 评论 -
Hibernate填坑
idea下Unable to locate persister: com.s2sh.pojo.TeacherEntity错误原因:编译后在pojo下没有hbm.xml文件解决办法:在资源文件夹下创建目录放在资源文件夹下原创 2020-10-27 20:29:13 · 202 阅读 · 0 评论 -
MySQL用户管理:添加用户、授权、删除用户
添加用户create user zhangsan identified by 'zhangsan';上面的命令创建了用户zhangsan,密码是zhangsan。在mysql.user表里可以查看到新增用户的信息:授权命令格式:grant privilegesCode on dbName.tableName to username@host identified by “password”;grant all privileges on zhangsanDb.* to zhangsan@'%'转载 2020-06-17 15:23:37 · 168 阅读 · 0 评论 -
MyBatis源码分析
以下分析在mybatis3.5.4版本下MyBatis对sql语句解析处理处理sql语句的类org.apache.ibatis.scripting.xmltags.XMLLanguageDriver处理xml语句映射方法org.apache.ibatis.scripting.xmltags.XMLLanguageDriver#createSqlSource(org.apache.ibatis.session.Configuration, org.apache.ibatis.pars原创 2020-10-20 12:02:14 · 66 阅读 · 0 评论 -
MyBatis源码解析收集
原文链接:https://cloud.tencent.com/developer/article/1057228?from=10680原创 2020-10-19 10:36:44 · 78 阅读 · 0 评论 -
MyBatis 二级缓存全详解
MyBatis 二级缓存全详解目录MyBatis 二级缓存介绍二级缓存开启条件探究二级缓存二级缓存失效的条件第一次SqlSession 未提交更新对二级缓存影响探究多表操作对二级缓存的影响二级缓存源码解析二级缓存的创建二级缓存的使用是否应该使用二级缓存?我们在上一篇文章 ( https://mp.weixin.qq.com/s/4Puee_pPCNArkgnFaYlIjg ) 介绍了 MyBatis 的一级缓存的作用,如何开启,一级缓存的本质是什么,转载 2020-10-16 08:14:21 · 395 阅读 · 0 评论 -
Mysql的三维查询结果
case when 和聚合函数使用SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for test-- ----------------------------DROP TABLE IF EXISTS `test`;CREATE TABLE `test` ( `课节` int(255) NULL DEFAULT NULL, `星期` var原创 2020-11-25 16:46:42 · 560 阅读 · 0 评论 -
MyCat之问题
1: 查询主键id为1时候无法查询到数据 如图 1-1,1-2解决方案1 :把物理数据库中id为1的记录删除掉使用 mycat逻辑数据库添加纪律解决方案2:修改schema.xml配置文件设置<table name="ap_author" dataNode="DNAP_0" autoIncrement="true" primaryKey="id" />把dataNode改为单一节点![在这里插入图片描述](https://img-blog.csdnimg.cn/20201原创 2020-10-08 22:31:40 · 118 阅读 · 0 评论 -
MyCat专题(八)-MyCat全局序列之数据库方式
1.引言读写分离:顾名思义,就是将插入、更新、删除等事务性的操作分发到主数据库master上,而将读请求分发到从数据库slave上,利用mysql主从同步,从数据库服务器将同步更新本机数据,这样就保证了两个数据库中数据一致性。读写分离有几种实现方式,可以在应用层配置多个数据源,根据业务需求访问不同的数据,指定对应的策略,也可以使用动态切换数据源方式实现,也可以借助数据库中间件的方式实现,mycat就是基于中间件实现。2.原理图在应用层和数据库集群之间添加一个代理服务,应用层访问代理,代理根据请求类型转载 2020-10-08 22:17:47 · 240 阅读 · 0 评论 -
mycat(2)主键自增之本地自增的方式
1.简介在使用MyCat分库分表之后,如果还是使用MySql中的主键自增的话,已经无法保证这个自增主键在MySql集群中的唯一性了,为了实现全局唯一主键,MyCat提供了好几种方式实现全局唯一主键,分别有:本地文件方式数据库方式时间戳方式分布式 ZK ID生成器ZK递增ID 生成12345本文将对本地文件方式进行简单的说明,并通过一个示例描述其使用方法。2.本地文件方式此方式 MyCat 将 sequence 配置到文件中,当使用到 sequence 中的配置后,MyCat会更新seq转载 2020-10-08 22:12:33 · 409 阅读 · 0 评论 -
mycat(1)主键自增之数据库自增的方式
数据准备1、创建数据库创建两个数据库,并都创建test表#创建数据库create database mycat;#添加表use mycat #创建表testcreate table test3(id int auto_increment primary key,name varchar(32)) ;#创建数据库create database mycat3;#添加表use mycat 2#创建表testcreate table test3(id int auto_increm转载 2020-10-08 22:08:35 · 778 阅读 · 0 评论