前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring-JDBC

Spring-JDBC

作者头像
木瓜煲鸡脚
发布2019-10-10 16:04:49
4470
发布2019-10-10 16:04:49
举报
文章被收录于专栏:Jasper小笔记Jasper小笔记

Spring的JDBC模板

  1. JDBC模板
    1. 什么是JDBC模板
    2. 创建项目
    3. 测试
  2. IOP-DI改写
  3. CRUD操作
  4. 事务操作
    1. Spring的事务管理的API
    2. 各API之间的联系
    3. 事务的传播行为
    4. 事务使用

01

JDBC模板基本使用

SpringJDBC模板是什么?

Spring是EE开发的一站式的框架,有EE开发的每层的解决方案。

Spring对持久层也提供了解决方案:ORM模块和JDBC的模板。

Spring提供了很多的模板用于简化开发,有基础的JDBC模板相当于DBUtils,使用Hibernate也有简化使用Hibernate的模板

创建项目

Spring基础包

JDBC模板包及数据库驱动包

创建数据库和表

测试类使用模板

成功插入

02

使用IOC-DI

上面测试代码中有两处创建对象

将他们交给Spring来创建

使用注解

还可以将数据库信息使用属性配置文件

jdbc.properties

加载属性配置文件,再使用el表达式引用

03

CRUD操作

插入

删除

修改

查询单字段

单行记录(封装对象)

多条(封装集合)

04

事务操作

Spring的事务管理的API

1.PlatformTransactionManage

平台事务管理器 是一个接口,下面有两个实现类

DataSourceTransactionManager

底层使用JDBC管理事务

HibernateTransactionManager

底层使用Hibernate管理事务

2.TransactionDefinition

事务定义信息:用于定义事务的相关的信息,隔离级别、超时信息、传播行为、是否只读

3.TransactionStatus

事务状态:用于记录在事务管理过程中,事务的状态的对象。

各API之间的联系

Spring进行事务管理的时候,首先平台事务管理器根据事务定义信息进行事务的管理,

在事务管理过程中,产生各种状态,将这些状态的信息记录到事务状态的对象中。

事务的传播行为

意思是在事务中又调用了其他方法,而方法中也包含事务,事务中包含事务

Spring中提供了了七种方式处理传播行为

保证多个操作在同一个事务中‍

PROPAGATION_REQUIRED

默认值,如果A中有事务,使用A中的事务,如果A没有,创建一个新的事务,将操作包含进来

PROPAGATION_SUPPORTS

支持事务,如果A中有事务,使用A中的事务。如果A没有事务,不使用事务。

PROPAGATION_MANDATORY

如果A中有事务,使用A中的事务。如果A没有事务,抛出异常。

保证多个操作不在同一个事务中

PROPAGATION_REQUIRES_NEW

如果A中有事务,将A的事务挂起(暂停),创建新事务,只包含自身操作。如果A中没有事务,创建一个新事务,包含自身操作。

PROPAGATION_NOT_SUPPORTED

如果A中有事务,将A的事务挂起。不使用事务管理。

PROPAGATION_NEVER

如果A中有事务,报异常

嵌套式事务

PROPAGATION_NESTED

嵌套事务,如果A中有事务,按照A的事务执行,执行完成后,设置一个保存点执行B中的操作,如果没有异常,执行通过,如果有异常,可以选择回滚到最初始位置,也可以回滚到保存点

使用事务

编程式事务

配置事务管理和事务管理模板

使用

xml配置事务(aop给方法增强事务)

配置事务通知,再配置aop给transferMoney方法添加通知

注解方式

annotation-driven开启注解方式,传入事务平台管理器,在业务类上开启注解

无论哪一种首先将事务管理器交给Spring

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT那个小笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档