SpringBoot 学习 step.3数据库

数据库

JPA默认用的是Hibernate。

SpringBoot开发WEB应用时,目前菜用较多的是mybatis+mybatis-plus,还有是springboot-data-jpa,jpa默认使用的是hibernate

jpa更像是mybatis-plus+mybatis的结合体,不过mybatis的插件体系,让mybatis走的是逆向工程,而hibernate是正常的生成工程。

也就是说,hibernate需要的是UML模型,mybatis需要的是数据库模型。

hibernate重业务,mybatis轻业务更轻便

也就是说hibernate的模型是对应着业务出来的,而mybatis就是偏向于专门处理数据库相关的功能。

至于使用的话,可以看看文档,这些内容无非就是定义接口定义类,或者重写类。

数据库事务处理

这个牵涉的数据库理论知识较多,因为只有知道这些理论才能明白。

首先为什么会需要事务,事务用来解决什么问题?遇到 了什么问题?

在实际的业务场景中,需要进行处理并发问题,像两个人同时买东西,如果库存为0,那么就只有一个人能买到,还有数据更新问题。其实这些都是非常常见的数据库数据的更新问题。

数据库四个基本特征:原子性、一致性、隔离性、持久性

在很大程度上,数据库在生产环境中是会可能达到数以万计级别的访问,这时,就会遇到读写锁和丢失更新还有性能问题。

第一,性能是用户直观的感受,没有人在乎你后台做了什么。

第二,读锁与写锁,必然会导致响应速度下降。

第三,丢失更新,用户获取的数据没有得到即时的更新

这些问题需要通过特定的任务手段进行解决,如任务队列,数据库串行化。

数据库的隔离级别就是通过底层来控制SQL脚本的执行和更新问题。隔离级别越高,性能越低。

传播行为

即当前的方法与被调用的方法都会被置于统一的隔离级别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值