1.Spring对JDBC的支持

DAO :

Spring中对数据访问对象(DAO)的支持旨在简化Spring与数据访问技术的操作,使JDBC、Hibernate、JPA和JDO等采用统一的方式访问

Spring提供了@Repository注解,这一注解同样允许组件扫描来发现和配置自定义DAO
而DAO的实现依赖于某个持久化源,比如一个基于JDBC的DAO需要一个数据源DataSource

JdbcTemplate

JdbcTemplate类是Spring对JDBC支持类库中的核心类
JdbcTemplate负责:
创建和释放资源
执行SQL语句、存储过程,并通过ResultSet来返回数据
使用方式:
XXXDao注入JdbcTemplate,并且给JdbcTemplate注入DataSource
XXXDao继承JdbcDaoSupport类,而JdbcDaoSupport类中定义了JdbcTemplate成员变量

增删改:

增删改:

插入数据,并返回自增主键值

增删改:

批处理:

查询:
实例1:

实例2:

实例3:基于RowMapper查询1个Bean对象

实例4:基于RowMapper查询多个Bean对象

实例4:基于RowCallBackHandler查询

2.Spring对事务的支持

事务:

概念:事务是一组原子操作的工作单元
对事务的描述(ACID)
原子性(Atomic)
事务由一个或多个行为捆绑在一起组成一个单独的工作单元,原子性保证事务中的所有操作要么都发生,要么都不发生
一致性(Consistent)
一旦一个事务结束了(不管成功与否),系统所处的状态和它的业务规则是一致的,也就是说数据应当不会被破坏
隔离性(Isolated)
事务应该允许多名用户操作同一个数据,一名用户的操作不会和其他用户的操作相混淆(隔离级别)
持久性(Durable)
一旦事务完成,事务的结果应该持久化,用来保证即使系统崩溃也不会破坏事务的结果

Spring对事务的支持:

Spring框架对于事务的支持也是吸引人们使用的原因之一
Spring框架提供了对事务的一致性抽象,使得开发人员编写的代码可以在不同的环境下适用于不同的事务管理
Spring框架对事务抽象的关键就是PlatformTransactionManager接口中定义的。

Spring框架提供了编程式事务管理和声明式事务管理
编程式事务管理:
可以清楚地控制事务的边界
可自行实现事务开始时间、结束时间、撤消操作的时机等
可以实现细粒度的事务控制
声明式事务管理:
好处是事务管理的API不介入程序,最符合一个非 侵入型轻量级容器的理想
多数情况下事务不需要细粒度控制,因此建议使用

编程式事务管理
Spring一般都推荐使用TransactionTemplate来进行编程式事务管理

声明式事务管理
Spring Framework的声明式事务管理是建立在Spring的面向切面编程(aspect-oriented programming, AOP) 上的
从概念上来讲, 在事务型代理上调用一个方法看起来像这样:

Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分

8.Spring对JDBC的支持和事务的更多相关文章

  1. 1.Spring对JDBC整合支持

    1.Spring对JDBC整合支持 Spring对DAO提供哪些支持 1)Spring对DAO异常提供统一处理 2)Spring对DAO编写提供支持的抽象类 3)提高编程效率,减少DAO编码量 Spr ...

  2. Spring整合JDBC以及AOP管理事务

    本节内容: Spring整合JDBC Spring中的AOP管理事务 一.Spring整合JDBC Spring框架永远是一个容器,Spring整合JDBC其实就是Spring提供了一个对象,这个对象 ...

  3. [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  4. Spring对jdbc的支持

    Spring对jdbc技术提供了很好的支持. 体现在: 1)Spring对c3p连接池的支持很完善: 2)Spring对jdbc提供了JdbcTemplate,来简化jdbc操作: 1.使用步骤 1) ...

  5. spring 对JDBC的支持 (8)

    目录 一.jdbc的简介 二.jdbcTemplate 的使用 2.1 maven 引入spring - jdbc ,c3p0 ,数据库mysql驱动 2.2 配置 数据源以及jdbcTemplate ...

  6. Spring对 JDBC 的支持,JdbcTemplate类的使用

    导包:spring框架的包 和 连接数据库连接池的c3p0包 连接mysql数据库的包; 在src目录下建立jdbc.properties文件:存放连接数据库的属性值 jdbc.user=root j ...

  7. Spring框架学习笔记(9)——Spring对JDBC的支持

    一.使用JdbcTemplate和JdbcDaoSupport 1.配置并连接数据库 ①创建项目并添加jar包,要比之前Spring项目多添加两个jar包c3p0-0.9.1.2.jar和mysql- ...

  8. Spring 对JDBC的支持(JdbcTemplate)

    Spring对数据库的操作,使用JdbcTemplate对象 需要引入相关的jar文件 如版本:(Spring核心jar包就不列了) spring-jdbc-3.2.5.RELEASE.jar spr ...

  9. Java进阶知识23 Spring对JDBC的支持

    1.最主要的代码 Spring 配置文件(beans.xml) <!-- 连接池 --> <bean id="dataSource" class="co ...

随机推荐

  1. jquery datatable 多行(单行)选择(select),行获取/行删除

    jquery datatable 多行(单行)选择(select),行获取/行删除 代码展示 // 示例数据源 var dataSet = [ ['Tasman','Internet Explorer ...

  2. css知多少(5)——选择器(转)

    css知多少(5)——选择器   1. 引言 从本节开始,就进入本系列的第二个部分——css和html的结合——说白了就是选择器. CSS中定义了样式,如何将这些样式设置到相应的html节点上?就不得 ...

  3. Codeforces #505(div1+div2) C Plasticine zebra

    题意:给你一段字符串,可以选择任意多的位置,每个位置会反转两边的字符串,问交错的字符串最长是多长? 思路:找规律,仔细分析样例1.假设位置为 1 2 3 4 5 6 7 8 9,反转之后会发现答案是7 ...

  4. ZROI2018提高day1t3

    传送门 分析 考场上想到了先枚举p的长度,在枚举这个长度的所有子串,期望得分40~50pts,但是最终只得了20pts,这是因为我写的代码在验证中总是不断删除s'中的第一个p,而这种方式不能解决形如a ...

  5. 339E Three Swaps

    传送门 题目大意 给出由1-n组成的序列,每次可将一个区间翻转.问如何从1-n的递增序列变成给出的序列,输出操作次数以及每次操作的区间.最多翻转3次,保证有解,输出任意方案即可. 分析 我们对于每一次 ...

  6. 718C Sasha and Array

    传送门 题目 Sasha has an array of integers a1, a2, ..., an. You have to perform m queries. There might be ...

  7. oracle创建数据库的语句

    首先 oracle严格来说表空间的概念和数据库的概念很像,为了理解的方便我们,可以把表空间就先当成数据库 我们在安装oracle的服务端的时候默认会安装一些,默认实例 1.建立表空间,现在解释下面语句 ...

  8. scala中同步块

    private def initializeIfNecessary() { if (!Logging.initialized) { Logging.initLock.synchronized { if ...

  9. break跳出多重循环

    大家都知道break只能跳出当前的一个循环语句,如果碰到要跳出多个循环体,那么我们就该在循环体开头设置一个标志位,然后使用带此标志位的break语句跳出多重循环 jump: ;i<;i++){ ...

  10. 原来腾讯安全中心TP和虚拟机vmware10是有冲突的

    用VMware 10启动linux,总是出现VMware Workstation 不可恢复错误: (vmx)...   然后网上查了好多类似问题始终不能解决.后来发现每次出现这个问题腾讯的TP是启动的 ...