摘要:
springboot有五种隔离级别 1、DEFAULT:spring默认的事务隔离级别,以连接的数据库事务隔离级别为准; 2、READ_UNCOMMITTED:读未提交,该隔离级别事务可以看到其他事务中未提交的数据。因为可以读到别人未提交的数据,如果对方事务发生回滚,容易导致脏读。 3、READ_C 阅读全文
摘要:
本文介绍下@Transactional底层实现和哪些场景会导致其失效 当使用@Transactional注解标注一个方法时,springboot会在运行时生成一个代理对象,该代理对象拦截被注解的方法调用,并在方法调用前后进行事务管理。事务管理包括开启事务、提交事务或者回滚事务等操作。 @Transa 阅读全文
摘要:
springboot中有两种事务管理方式: 1、编程式事务;使用transactionTemplate和TransactionManager实现 2、声明式事务;使用@Transactional 注解 今天这里介绍下第一种编程式事务,使用transactionTemplate和Transaction 阅读全文
摘要:
#{}和${}有啥区别: ① 含义不一样:${}是直接替换,#{}是预处理; ② 使用场景不一样:普通的参数用#{},这也是我们日常用的最多的,如果是传递SQL或者SQL关键字,就用${},但需要做好安全验证 ③ 安全性问题:#{}不存在安全问题,使用${}也存在安全问题,如SQL注入 SQL注入指 阅读全文
摘要:
mybatis的二级缓存是mapper级别的,也就是同一个mapper下的查询,可以使用缓存里面的值 下面就写个demo记录下 没有使用缓存之前 service @Override public Device getUserById(Long id) { Device byId = deviceMa 阅读全文
摘要:
在xml中写动态SQL的的时候,有一些常见的,如if 、foreach SELECT a.*,c.product_name FROM work_order a LEFT JOIN product c ON a.product_code = c.product_code AND c.del_flag 阅读全文