在Mybatis中不对select做任何改变,将物理删除的逻辑迁移到逻辑删除
摘要:
假设现在有一个已经完成或者已经到中期的项目,但是忘记做逻辑删除了,更改的办法如下 第一步,在项目中添加如下的拦截器 import com.baomidou.mybatisplus.core.toolkit.PluginUtils; import com.baomidou.mybatisplus.ex
脏读、幻读与不可重复读
摘要:
数据库事务特征 数据库事务特征,即 ACID: A Atomicity 原子性 事务是一个原子性质的操作单元,事务里面的对数据库的操作要么都执行,要么都不执行, C Consistent 一致性 在事务开始之前和完成之后,数据都必须保持一致状态,必须保证数据库的完整性。也就是说,数据必须符合数据库的
spring propagation
摘要:
spring事务传播属性示例分析 在TransactionDefinition类中,spring提供了6种传播属性,接下来分别用简单示例来说明。 温馨提醒:下文提到的加入当前事务,指的是底层使用同一个Connection,但是事务状态对象是可以重新创建的,并不影响。文章提到的当前只存在一个事务,表示
spring propagation required和not required
摘要:
一、Propagation取值: REQUIRED(默认值):在有transaction状态下执行;如当前没有transaction,则创建新的transaction; SUPPORTS:如当前有transaction,则在transaction状态下执行;如果当前没有transaction,在无t
mysql自增id不连续问题
摘要:
MySQL在navicat中设置唯一字段: 索引(选择字段) >>> 索引类型(UNIQUE) 当表中存在唯一字段,主键id自增时,插入新数据的时候唯一字段已存在,插入失败 但此时id已自增+1,再次插入数据造成id不连续问题。 或是删除字段后又插入,删除字段后,自增字段不会补齐而是按照既定数值继续
@Before,@After,@AfterReturning,@AfterThrowing执行顺序
摘要:
注意! 从Spring5.2.7开始,在相同@Aspect类中,通知方法将根据其类型按照从高到低的优先级进行执行:@Around,@Before ,@After,@AfterReturning,@AfterThrowing。 顺序为(类似于栈的执行顺序,进入时高优先级先执行,退出时低优先级先执行)
spring的四种属性
摘要:
注解含义 @Component 最普通的组件,可以被注入到spring容器进行管理 @Repository 作用于持久层 @Service 作用于业务逻辑层 @Controller 作用于表现层(spring-mvc的注解) @Controller注解类进行前端请求的处理,转发,重定向。包括调用Se
动态代理各种方法比较
摘要:
前言 代理模式是一种设计模式,能够使得在不修改源目标的前提下,额外扩展源目标的功能。即通过访问源目标的代理类,再由代理类去访问源目标。这样一来,要扩展功能,就无需修改源目标的代码了。只需要在代理类上增加就可以了。 其实代理模式的核心思想就是这么简单,在java中,代理又分静态代理和动态代理2种,其中
动态代理
摘要:
动态代理 利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称“动态代理类”)及其实例(对象),代理的是接口(Interfaces),不是类(Class),也不是抽象类。在运行时才知道具体的实现,spring aop就是此原理。 public sta
@Autowire @Resource @Qualifier
摘要:
@Autowired、@Qualifier、@Resource、@Value四个注解都是用于注入数据的,他们的作用就和在xml配置文件中的bean标签中写一个标签的作用是一样的 1、先给出一个场景 讲@Autowired注解前先给出一个场景: dao层代码 @Repository public cl