我的技术笔记

持续热爱!

 

CAP定理

Partition tolerance 分区容错性

Consistency 一致性

Avaliability 可用性

为什么说CAP三者不能兼得?

 

数据库三范式

1NF

2NF

函数依赖

平凡函数依赖于非平凡函数依赖

完全函数依赖与部分函数依赖

完全函数依赖
部分函数依赖

传递函数依赖与直接依赖

传递函数依赖
直接依赖

idsnosname

主属性与非主属性

cno(课程号)sno(学号)grade(学生课程成绩)

全码

外码

2NF

例子

cno(课程号)sno(学号)grade(学生课程成绩)sdept(学生系名)

符合2NF的设计

cno(课程号)sno(学号)grade(学生课程成绩)

sno(学号)sdept(学生系名)

3NF

例子

sno(学号)sdept(学生系名)sloc(学生宿舍地址,同一个系的学生一个地址)

 

35734-3uvwrtuwnjp.png

 

符合3NF的设计

sno(学号)sdept(学生系名)

sdept(学生系名)sloc(学生宿舍地址,同一个系的学生一个地址)

 

 

Spring 事务传播行为

简介

事务传播行为类型说明
REQUIRED如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。
SUPPORTS支持当前事务,如果当前没有事务,就以非事务方式执行。
MANDATORY使用当前的事务,如果当前没有事务,就抛出异常。
REQUIRES_NEW新建事务,如果当前存在事务,把当前事务挂起。
NOT_SUPPORTED以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
NEVER以非事务方式执行,如果当前存在事务,则抛出异常。
NESTED如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则创建一个事务。

准备

POM

application.yml

sql

DAO

TxDAO

TxDAOImpl

Service

TxServiceA

TxServiceAImpl

TxServiceB

TxServiceBImpl

REQUIRED

情况1:a()开启事务

 

img

 

情况2:a()不开启事务

 

img

 

SUPPORTS

情况1:a()开启事务

 

img

 

情况2:a()不开启事务

 

img

 

MANDATORY

情况1:a()开启事务

 

img

 

情况2:a()不开启事务

异常

REQUIRES_NEW

情况1:a()开启事务

 

img

 

情况2:a()不开启事务

 

img

 

NOT_SUPPORTED

情况1:a()开启事务

 

img

 

情况2:a()不开启事务

NEVER

情况1:a()开启事务

异常

情况2:a()不开启事务

NESTED

情况1:a()开启事务

情况2:a()不开启事务

总结

 

img

 

事务传播失效

同一个类中事务传播失效

代码示例

解决方法

代码示例

public方法

 

备案号:粤ICP备19041348号-1