大数据WEB阶段Spring框架(三)声明式事务处理
Spring整合JDBC—声明式的事务处理
一、Spring整合JDBC步骤
- 导入jar包
- 编写数据库配置文件
- 也可以将数据库配置信息单独配置后引入Spring容器中
- 代码中使用
二、Spring框架中的JDBC模板类
- 在Spring框架中可以配置JDBC模板类来避免数据库操作时的代码冗余
- 在执行查询操作时 , 需要手动创建用来封装结果集对象的类
- 补充说明: 通过类的反射机制实现结果封装 , 开发效率高 , 但是执行效率低 , 手动封装结果集开发效率低 , 但是执行效率高
- 代码中使用
- 通过模板查询单个对象
- 使用JDBC模板操作数据库时 , 除了查询是query , 其他操作都是update
- 插入数据
- 删除数据
- 修改数据
三、声明式事务处理
- 添加约束和导入约束文件
- 添加约束
- 导入约束文件(如果电脑联网的话 , 添加约束后会自耦东下载 , 不需要导入约束文件)
- 在Application.xml配置文件中配置事务 , 如果id为transactionManager的话可以省略
- 配置事务切面类的通知
- 事务的传播策略:当出现事务嵌套问的时候 需要通过传播策略决定如果控制事务 。 基本上使用默认的Propagation.REQUIRED足以应对所有场景,REQUIRED指如果原来调用的地方有事务,则此方法支持事务,如果原来没有事务,则会创建一个事务
- 把事务配置在切面中
- 这种方式一般不常用 , 一般使用注解形式
声明式事务处理: 注解形式
- 配置文件中配置事务管理类
- 注解的使用(在需要的方法上加上事务的注解)
四、声明式事务回滚策略
- 事务回滚策略
- Spring声明式事务默认发生运行时异常时回滚 , 发生编译时异常时不回滚 。
- 手动改变事务回滚策略
- 指定发生某个编译时异常时也回滚 , 运行时异常依然回滚
- 指定某个运行时异常发生异常时不会滚
五; 多表操作时的具体问题
- 一定要把事务添加在service层才能解决多表操作的事务问题 。
大数据WEB阶段Spring框架(三)声明式事务处理相关推荐
- 大数据WEB阶段Spring框架(一)IOC控制反转、DI注入依赖
Spring-IOC.DI 零.Spring简介 Spring官网:http://projects.spring.io/spring-framework Jar包的下载地址:http://repo.s ...
- 大数据WEB阶段Spring框架(四)Spring-MVC
Spring-MVC 零.目录 Spring-MVC介绍 Spring-MVC入门案例 使用注解形式简化Cotroller 配置资源解析器 三种方式获取页面传递过来得参数 获取参数时的乱码问题 日期获 ...
- 大数据WEB阶段Spring框架 AOP面向切面编程(二)
Spring AOP面向切面编程(二) 一.切入点的execution表达式 execution的表达形式: execution(修饰符? 返回值类型 所在包类? 方法名(参数列表) 异常?) ?表示 ...
- 大数据WEB阶段Spring框架(二)简化配置的操作
Spring简化配置的操作 零.复习 IOC控制反转, 之前是通过new创建对象 , IOC是由Spring容器创建对象 , 需要用时getBean获取 . 导入约束文件 获取对象两种方式 : 通过I ...
- 大数据WEB阶段Spring框架 AOP面向切面编程(一)
Spring - AOP面向切面编程(一) 一.代理模式概述 代理的特点:(目标对象即被代理者) 实现和目标对象相同的接口 具备和目标对象的方法 代理者不仅要做目标对象的方法 , 还要做一些额外的操作 ...
- 大数据WEB阶段 TransientDateAccessResourceException
大数据WEB阶段 TransientDateAccessResourceException 一 . 分析 如果数据库保存的字段有时间 , 但是没有给该字段赋值时 ,则该字段默认是0000-00-00 ...
- 大数据WEB阶段(九)Servlet+Request
Servlet与Request 一.概述 Servlet 是sun公司提供的一门用于开发动态web资源的技术 按照这套规范写出来的servlet可以放置在web应用中在servlet容器中运行 . 开 ...
- 大数据WEB阶段 (六)MySql详解(一)
MySql(二) 一.概述 什么是数据库 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,简而言之就是存储数据的仓库. 数据库的分类 层次式数据库.网络式数据库.关系型数据库 数 ...
- 大数据WEB阶段 Maven与SSM框架整合
Maven整合SSM框架 零. 目录 Maven整合SSM 常见的问题 以及一些优化 一. Maven整合SSM 创建webapp工程 修改jdk和编译器 配置pom.xml文件 并在pom.xml文 ...
最新文章
- [译]Effective Kotlin系列之探索高阶函数中inline修饰符(三)
- vlan的基本指令_10、Vlan的基本常用命令
- 【Unity】Planar Shadows平面阴影的实现
- 【Linux】一步一步学Linux——arp命令(163)
- 计算机一级b和小高考,2021年小高考B是几分相关内容
- *【HDU - 2473】Junk-Mail Filter (并查集--删点操作)
- 【Tensorflow】更新后报错 numpy.core.umath
- C++/Qt 序列化操作
- Mybatis入门程序
- git pull的理解 以及 git conflict的解决
- [技术文档]Linux从入门到精通
- Eigen 3.3.7 MatrixVector的运算
- C#中英文字符串固定长度换行
- hdu1002——A + B Problem II
- Centos安装php高版本
- 实验四 图像复原及几何校正
- 计算机网络的定义以及分类
- Kingdom Rush 国王保卫战图文攻略
- 技术干货 | MindSpore AI科学计算系列(五):AI框架加速海洋数值模拟
- 聊聊办公室装修适合哪些风格以及装修技巧
热门文章
- 关于最近使用文档的几个技巧
- C/C++变量命名规则,个人习惯总结
- Principles of Reactive Programming 之Actors are Distributed (1)
- jquery 学习之二 属性---文本 值
- 前端参数无法转为后端实体内部类_Java学到什么程度才能叫精通?
- Java黑皮书课后题第8章:*8.27(列排序)用下面的方法实现一个二维数组中的列排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
- Java黑皮书课后题第1章:1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果
- java jmi的基本思想_jmi: JMI 是 JNI 的 C++11/14封装,目的是为了简化JNI使用
- c/s项目记住账号密码功能
- 别名、浅复制与深复制