Spring之数据库

接口是编写松耦合代码的关键

JDBC的异常体系与Spring的数据库访问异常:

JDBC:可能导致SQLException异常的常见问题包括:

  • 程序不能连接到数据库
  • 被执行的查询具有语法错误
  • 查询中所引用的表/列不存在
  • 执行插入或更新的值会破坏数据库约束

Spring JDBC提供的数据访问异常体系会解决两个方面的问题,一是JDBC异常,由于任何数据访问错误都会触发SQLException,所以太笼统了;二是Hibernate的异常体系又是私有的这样就与持久框架相关联了。

JDBC的异常:

  • BatchUpdateException
  • DataTruncation
  • SQLException
  • SQLWarning

Spring的数据访问异常:

  • DataAccessException
  • CannotAcquireLockException
  • 等等(太多了)
时间: 2024-12-12 08:48:08

Spring之数据库的相关文章

【j2ee spring】6、spring与数据库的连接配置

spring与数据库的连接配置 这里我们开始使用spring管理来配置数据的操作了 1.首先在xml文件中配置数据的连接 MySQL <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- results in a setDriverClassName(String) call --&

Spring+Ibatis数据库水平分库

1.引言    笔者最近在做一个互联网的"类SNS"应用,应用中用户数量巨大(约4000万)左右,因此,简单的使用传统单一数据库存储肯定是不行的. 参考了业内广泛使用的分库分表,以及使用DAL数据访问层等的做法,笔者决定使用一种最简单的数据源路由选择方式来解决问题. 严格的说,目前的实现不能算是一个解决方案,只能是一种思路的简易实现,笔者也仅花了2天时间来完成(其中1.5天是在看资料和Spring/ibatis的源码).这里也只是为各位看官提供一个思路参考,顺便给自己留个笔记 2.系统

spring自动识别数据库并切换数据源

一.开篇 这里整合分别采用了Hibernate和MyBatis两大持久层框架,Hibernate主要完成增删改功能和一些单一的对象查询功能,MyBatis主要负责查询功能.所以在出来数据库方言的时候基本上没有什么问题,但唯一可能出现问题的就是在hibernate做添加操作生成主键策略的时候.因为我们都知道hibernate的数据库本地方言会针对不同的数据库采用不同的主键生成策略. 所以针对这一问题不得不采用自定义的主键生成策略,自己写一个主键生成器的表来维护主键生成方式或以及使用其他的方式来生成

【j2ee spring】7、spring与数据库的连接的操作事务管理

spring与数据库的连接的操作事务管理 1.首先我们的知道spring管理事务的方式有两种 还是一种是以注解的方式 在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚.这个例外是unchecked 如果遇到checked意外就不回滚. 1 让checked例外也回滚:在整个方法前加上 @Transactional(rollb

Spring访问数据库(oracle)配置

陈科肇:http://blog.csdn.net/u013474104/article/details/44279309 ================ 1.spring 对数据库访问的支持 当我们开发持久层的时候,我们面临着多种选择,比如使用JDBC.Hibernate.java持久化API或其它持久化框架.幸好的是spring能够支持所有这些持久化机制. DAO(data access boject)数据访问对象,这个名字就很形象描述了DAO在应用程序中所扮演的角色.DAO提供了数据的读取

Spring Boot 数据库操作

# Spring Boot 数据库操作 数据源配置 Oracle 数据源配置 参考<搭建Spring Boot项目-六> MySQL 数据源配置 在pom中添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <d

Spring(四)Spring与数据库编程

Spring最重要的功能毫无疑问就是操作数据.数据库的百年城是互联网编程的基础,Spring为开发者提供了JDBC模板模式,那就是它自身的JdbcTemplate.Spring还提供了TransactionTemplate支持事务的模板.Spring并没有支持MyBatis,好在MyBatis社区开发了接入Spring的开发包,该包也提供了SqlSessionTemplate给开发者使用,该包还可以屏蔽SqlSessionTemplate这样的功能性代码,可以在编程中擦除SqlSessionTe

Spring入门到精通&lt;三&gt;Spring访问数据库

Spring在数据访问方面提供了模板化和Dao支持类的提供,方便操作数据库. 一.Spring JDBC 1.配置数据源 DataSource 不管选择哪一种Spring Dao的支持方式,你都需要配置一个数据源的引用.配置方式有三种: ①.使用JNDI查找数据源: ②.使用数据源连接池:(dbcp c3p0 druid)  <!-- 配置数据源 -->      <bean id="dataSource" class="org.apache.commons

Spring : 征服数据库(一)

严格的说.这里征服的是关系型数据库.之后笔者会以MongoDB为例,给出非关系型数据库的解决方式,敬请期待. 获取连接,操作,关闭,不知所云的异常...是的,你受够了.在使用纯JDBC时你訪问数据库时写的80%的代码是反复的,对此,Spring给的方案是 模板 + 回调.模板就是訪问数据库时的固定操作.回调是变化的部分. 针对不同的持久化平台.你可选的模板是不同的:假设使用的是JDBC,能够选择JdbcTemplate,假设使用特定的ORM框架,能够选择HibernateTemplate或Sql