- 博客(10)
- 收藏
- 关注
原创 springboot+mybatis查询两次数据库结果不一致
最近遇到个bug记录一下。情景再现:在一个方法里有多次查询数据库的操作,但查询出的数据字段会被自动翻译。(比如1翻译成是,2翻译成否)。原因:mybatis缓存会被代码修改。在同一个sqlsession下,第一次查询后,如果没有修改、删除数据库,后续的查询会从mybatis缓存中获取结果。而mybati缓存会被代码修改。举例验证: public static void main(String[] args) { SqlSession sqlSession = MybatisCa
2022-03-30 14:19:40
3591
1
原创 KMP算法个人理解
参考的原文:详解KMP算法KMP:解决字符串匹配问题,字符串s是否是主串的子集?是,返回第一个元素坐标;否,返回-1。核心思想,尽量不移动主串的i指针,回溯子串的j指针。整个KMP的重点就在于当某一个字符与主串不匹配时,我们应该知道j指针要移动到哪?接下来我们自己来发现j的移动规律:如图:C和D不匹配了,我们要把j移动到哪?显然是第1位。为什么?因为前面有一个A相同啊:如下图也是一样的情况:可以把j指针移动到第2位,因为前面有两个字母是一样的:至此我们可以大概看出一点端倪,当匹配失败
2021-12-17 23:29:33
271
原创 List中属性值重复
改动两次对象的值,再往List中添加两次,结果List显示有两个对象,但两个对象的值相等。这个错误犯了两次,记录下来警醒自己也提示别人。把问题抽象成一个简单的代码:@RequestMapping("/user") public RestResult user(){ List<User> userList = new ArrayList<>(); User user = new User(); user.setId("1");
2021-03-12 10:16:09
651
原创 Java注解和反射
注解JDK5.0开始引入的技术内置注解定义在java.lang包中@Override:重写@Deprecated:表示不鼓励使用某个方法、属性(已被淘汰)@SuppressWarnings:抑制编译时的警告信息元注解负责注解其他的注解@Target:用于描述注解的使用范围@Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期(SOURCE<CLASS<RUNTIME)@Document:说明该注解将被包含在javadoc中@Inherited:说明
2020-10-09 09:58:10
102
原创 Spring课堂笔记
前言本人刚开始工作,空闲之余重新学习一下spring,有了些新理解,便写了此篇博客记录一下,希望能对跟我一样刚入行的朋友有帮助。Sping两个核心概念:IOC和AOP,接下来我会谈一谈我对这两者及其相关知识点的理解。理解有偏差之处,恳请各位前辈的指教。^ ^ps:学习视频为B站狂神说Java的Spring教程IOC:Inversion of Control,控制反转IOC是一种思想,它的一种具体实现方式是DI,即依赖注入。一、为什么要引入IOC这种思想呢假如用最原始的方法写三层架构,那么写代码
2020-09-28 19:37:22
699
原创 个人笔记——《Mysql事务和锁》
学习视频:https://www.bilibili.com/video/BV1x54y1979n?from=search&seid=17432857651781558400数据库事务的典型业务场景银行转账除了查询,其余增删改操作都开启事务事务定义事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。存储引擎Myisam不支持事务InnoDB支持事务,支持行锁定事务的四大特性ACID1、原子性(Atomicity [ˌætəˈmɪsəti])
2020-09-28 15:24:26
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人