数据库
杨帆的博客
你糊弄生活,生活也会糊弄你的。
展开
-
mybatis-plus 使用saveBatch踩过的坑
为了不重复写mapper文件里的foreach标签,我们通常会将mybatis升级为mybatis-plus,从而使用Iservice里面的saveBatch方法;mapper标签的foreach写法<insertid="addRoleModule"parameterType="java.util.List">INSERTINTOT_P_ROLE_MODULE(ROLE_ID,MODULE_ID)VALUES<foreachcollecti...原创 2021-09-28 13:01:36 · 22604 阅读 · 1 评论 -
Mysql日志
Mysql数据库MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等日志系统:在一个表上有更新的时候,跟这个表有关的查询缓存会失效,所以这条语句...原创 2020-03-27 23:06:13 · 110 阅读 · 0 评论 -
数据库索引
1、索引定义:索引是对数据库表中一列或多列的值进行排序的一种结构,如果要按特定的索引进行查找,与必须搜索表中的所有行相比,索引会更快的获取信息。索引是一个单独的、物理的数据库结构,它是表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引提供指向存储在表的指定列中的数据值的指针,然后根据指定的排序顺序对这些指针排序。数据库使用索引的方式和书籍中农的索引的方式很相似:搜...原创 2020-03-01 22:39:50 · 326 阅读 · 0 评论 -
Mysql锁机制--乐观锁 & 悲观锁
1、悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观...原创 2020-02-26 21:19:36 · 205 阅读 · 0 评论 -
事务
事务的隔离级别:1、脏读(读未提交)指的是在一个事务处理过程中读取了另一个未提交事务中的数据;当一个事务正在多次修改某个元数据,而这个事务中这多次的修改都还未提交,这时一个并发的事务来访问该数据,就会造成两个事务得到的数据不一致。举个例子,A在一个转账事务中,转给了100块钱给B,此时B读到了这个转账的数据,然后做了一些操作,(转给了C),可这时候A的事务并没有提交,如果A事务回滚...原创 2020-02-26 20:58:08 · 187 阅读 · 0 评论