- 博客(4)
- 收藏
- 关注
原创 MybatisPlus实现乐观锁
乐观锁,总假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候都会判断一下在此期间别人有没有去更新这个数据,在此通过使用版本号version去实现。乐观锁适用于写比较少的情况下(多读情景,可提高吞吐量),即冲突很少发生的时候,这样可以省去锁的开销,加大了系统的整个吞吐量;如果是多写的情形,一般会经常产生冲突,这就导致上层应用会不断进行retry,这样反倒降低了性能,所以一般多写的场景下用悲观锁更合适。1,在实体类version属性添加@version注解。
2022-11-14 15:13:53 1481 1
原创 MybatisPlus实现自动填充的功能
所以每次对于新增或者修改操作的时候,都需要手动的去设定一个系统的时间,这样做造成代码累赘繁琐,不够优雅。MybatisPlus提供了自动填充的功能,不需要手动的去设定系统的时间。只需要这两步即可完成新增操作时候自动填充createTime和updateTime的值,修改操作会修改updateTime的值。2,创建一个普通类实现MetaObjectHandler接口并重写方法。1,在对应的实体类的创建时间和修改时间属性上面添加注解。对于数据库任何一张表往往都需要记录。
2022-11-13 23:11:46 462
原创 JDK8新特性之Optional类,5分钟包你完全学会
在编写代码的时候为了防止空指针异常,往往需要各种非空的判段,而过多的判段会导致代码臃肿不堪。为了解决这一问题JDK8引入了Optional类,对于程序员,养成使用Optional类习惯,可以写出更为优雅的代码。Optional类就好像是一个包装类,我们可以把具体的数据封装到Optional对象内部。3,map和flatMap都是对操作的数据进行转换,得到的数据依然时OPtional类包装好的,保证了使用的安全。4,filter 对数据进行过滤如果都不符合判段的条件返回一个无数据的Optional对象。
2022-11-13 15:50:51 481
原创 JDK8新特性之Stream流详解
Stream流是用来对集合或者数组进行链状流式的操作,进而达到方便操作和简化书写的目的。1,惰性求值(Stream流如果没有终止操作,则中间操作调用的API是不会执行的)2,一次性特性(一旦一个流调用终结API操作之后,则这个流就不能再被使用)3,不影响原有数据(不会对原有的集合或者数组进行数据写的操作)六、示例部分API详解。
2022-11-12 22:53:30 386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人