可在catch中抛出运行时异常throw new RuntimeException(e)(注:默认回滚的是RuntimeException,如果你想触发其他异常的回滚,需要在注解上配置一下)手动回滚TransactionAspectSupport.cur...
阅读全文...
MyBatis的缓存
1、MyBatis的一级缓存一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问使一级缓存失效的四种情况:不同的SqlSession对应不同的一级缓存同一个...
阅读全文...
阅读全文...
MyBatis配置文件
项目的结构目录<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org...
阅读全文...
阅读全文...
MyBatis中特殊字符写法
有两种写法:1、第一种-- 原符号 < <= > >= & ' "
-- 替换符号 < &...
阅读全文...
阅读全文...
RabbitMQ知识点
1、消息应答的方法:Channel.basicAck(用于肯定确认),RabbitMQ已知道该消息并且成功处理,可以将其丢弃Channel.basicNack(用于否定确认)Channel.basicReject(用于否定确认),与Channel.bas...
阅读全文...
阅读全文...
Docker安装RabbitMQ并简单简单使用
1.Docker安装RabbitMQ1.1下载RabbitMQ镜像docker pull rabbitmq1.2创建并启动RabbitMQ容器docker run -id --hostname myrabbit --name rabbitmq -p 15...
阅读全文...
阅读全文...
乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 再比如 Ja...
阅读全文...
阅读全文...