关键词:
(一)java异常
Throwable这个Java类被用来表示任何可以作为异常被抛出来的类。Throwable对象可分为两种类型(指从Throwable继承而得到的类型):Error用来表示编译时和系统错误(除特殊情况外,一般不用关心);Exception是可以被抛出的基本类型。所以Java程序员关心的基类型通常是Exception。
Exception中有一个特例:RuntimeException。属于RuntimeException的类型很多,他们会自动被Java虚拟机抛出,所以不必在异常说明中把它们列出来(例:NullPointerException),因为RuntimeException异常不需要在异常说明中申明方法将抛出RuntimeException类型的异常,他们也被称为“unchecked exceptions”,看下面的demo就看懂了
/** * RuntimeException不需要在方法上申明 */ public void uncheckedException() throw new RuntimeException(); /** * 非RuntimeException需要在方法上申明或者在方法体上用try..catch包起来 * @throws Exception */ public void checkedExceptions() throws Exception throw new Exception();
图片找的网上的(地址:https://www.pianshen.com/article/93521095041/)
(二)springboot的事务
1、什么都不加
看下面的代码
@Override @Transactional public void saveAuthorNotRollRack(Author author) throws Exception //不会回滚 authorDao.save(author); throw new Exception("author error"); @Override @Transactional public void saveAuthorRuntimeRollRack(Author author) //会回滚 authorDao.save(author); throw new NullPointerException();
如果@Transactional没有加回滚的条件(rollbackFor),那么只有抛出RuntimeException或者Error时才会回滚,其他异常不会回滚。
2、指定异常回滚
3、指定异常不回滚
jpa出现transactionmarkedasrollbackonly异常总结
总结:一个事务方法A调用另一个事务方法B时,B如果报错事务就已经是回滚状态了,放回到A之后,A方法继续执行,提交了事务(已经是回滚状态的事务),就报错了Transactionmarkedasrollbackonly。参考... 查看详情
如何在单一方法Springboot JPA中实现多个更新的事务
】如何在单一方法SpringbootJPA中实现多个更新的事务【英文标题】:HowtoimplementTransactionalformultipleupdatesinsinglemethodSpringbootJPA【发布时间】:2021-11-2120:47:33【问题描述】:我有一个使用SPringbootJPA对DB进行多次更新、删除和保存方法... 查看详情
springboot学习总结二(代码片段)
...的一些特性,因此有着丰富的应用场景。本文介绍Redis在SpringBoot中两个典型的应用场景,cache的配置类:@Conf 查看详情
springboot|遇坑总结|jpa(代码片段)
1. Causedby:org.hibernate.HibernateException:AccesstoDialectResolutionInfocannotbenullwhen‘hibernate.dialect‘notset 在配置文件中添加:spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect&nb 查看详情
学习总结(三十三)
1.守护进程 1)什么是守护进程 进程是一个正在运行的程序,守护进程也是一个进程,守护进程的意思就是一个进程保护另一个进程 2)守护进程使用... 查看详情
Spring Boot + Spring Data JPA + 事务无法正常工作
】SpringBoot+SpringDataJPA+事务无法正常工作【英文标题】:SpringBoot+SpringDataJPA+Transactionsnotworkingproperly【发布时间】:2015-04-2019:20:50【问题描述】:我使用1.2.0版本和spring-boot-starter-data-jpa创建了一个SpringBoot应用程序,并且我正在使用... 查看详情
如何在不使用 JPA 的情况下保持在 SpringBoot/GraphQL 中打开的 Hibernate 事务?
】如何在不使用JPA的情况下保持在SpringBoot/GraphQL中打开的Hibernate事务?【英文标题】:HowdoIkeepHibernatetransactionopenedinSpringBoot/GraphQLwithoutusingJPA?【发布时间】:2019-12-2918:34:23【问题描述】:我正在使用GraphQL来重建我的REST应用程序... 查看详情
Spring boot + Hibernate + JPA 没有可用的事务性 EntityManager
】Springboot+Hibernate+JPA没有可用的事务性EntityManager【英文标题】:Springboot+Hibernate+JPANotransactionalEntityManageravailable【发布时间】:2015-09-1614:28:04【问题描述】:我使用SpringBoot1.2.3.RELEASE版本和JPAoverhibernate。我遇到以下异常org.springfra... 查看详情
javascript学习总结(二十三)——javascript内存泄漏教程
参考教程:http://www.ruanyifeng.com/blog/2017/04/memory-leak.html 一、什么是内存泄漏?程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。对于持续运行的服务进程(daemon),必须及时释放... 查看详情
两小时上手springboot(开发红包程序———通过jpa连接mysql,事务等内容)遇到的问题
课程链接—https://www.imooc.com/video/20548 开发中遇到的问题: 解决方法:在配置文件(proprites文件或yml文件)中的数据库url中添加:&serverTimezone=UTC如图: 查看详情
python基础学习第十三节异常操作总结(代码片段)
Python基础学习之异常操作总结在Python运行遇到异常时,程序会终止;而在我们编程过程中,错误是不可避免的,这时我们需要捕捉到异常,还需要程序继续运行;这时我们就需要根据异常Traceback到出错点,进行分析改正;1.异常... 查看详情
gui学习之二十三——qdialog学习总结(代码片段)
今天学习对话框输入控件的基类(QDialog)。一.描述是对话类窗口(字体框、颜色选择、文件选择框等)的基类。对话框窗口是顶级窗口(就是说不包含于哪个父类的显示界面里),主要用于短期任务和与用户的短期通信。QDialogs是可以... 查看详情
springboot系列springboot配置全局事务处理(代码片段)
六、SpringBoot配置全局事务处理6.1SringBoot声明式事务6.2@Transactional注解的常用属性:6.3事务传播行为propagation6.4配置全局事务6.1SringBoot声明式事务SpringBoot开启声明式事务,只需要一个@Transactional就可以。因为在SpringBoot... 查看详情
vue3学习总结笔记(十三)(代码片段)
文章目录1.Vue3简介2.创建Vue3项目工程2.1使用Vue-cli创建2.2使用Vite创建Vue3工程3.Vue3之分析工程结构3.Vue3之安装开发者工具4.Vue3之setup5.Vue3之ref函数5.1ref函数处理基本数据类型5.2ref函数处理对象类型6.Vue3之reactive函数7.Vue3之与vue2进行... 查看详情
vue3学习总结笔记(十三)(代码片段)
文章目录1.Vue3简介2.创建Vue3项目工程2.1使用Vue-cli创建2.2使用Vite创建Vue3工程3.Vue3之分析工程结构3.Vue3之安装开发者工具4.Vue3之setup5.Vue3之ref函数5.1ref函数处理基本数据类型5.2ref函数处理对象类型6.Vue3之reactive函数7.Vue3之与vue2进行... 查看详情
整合springboot+kotlin+gradle+jpa的demo学习笔记(代码片段)
jpa其实就是JavaPersistenceAPI的缩写。jpa的中文名字叫做Java持久层API,jpa是JDK5.0注解或者是XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的宗旨是为POJO提供持久化标准规范,JPA的总体思想... 查看详情
整合springboot+kotlin+gradle+jpa的demo学习笔记(代码片段)
jpa其实就是JavaPersistenceAPI的缩写。jpa的中文名字叫做Java持久层API,jpa是JDK5.0注解或者是XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的宗旨是为POJO提供持久化标准规范,JPA的总体思想... 查看详情
从零开始学习springboot(myqsl链接+端口修改+jpa映射)
1.修改端口号:在application.properties文件添加:server.port=9090 就能将端口号修改为90902.连接数据库:2.1:修改pom.xml 添加2.2:application.properties文件添加: ######################################################## ###dataso 查看详情