请问jdbc处理事务的时候,为什么非要保证同一个数据库链接
发布网友
发布时间:2022-04-07 20:36
我来回答
共1个回答
热心网友
时间:2022-04-07 22:06
第一 JDBC是Java中操作数据库数据的规范,注意是规范和标准,除此之外别无它号,即使Hibernite,Batis 也是要建立在JDBC基础上的。JDBC定义了如何链接数据库(Connection),如何操作数据(ResultSet,Stement)和事务管理(Transcation ,SavePoint...),JDBC具体的实现是由数据库厂商或第三方提供。
第二理论上说,不用JDBC也可以直接操作数据库,但是很多情况下这些东西是无法实现的,比如在链接一个数据库时厂商会对通讯协议中的部分内容保密仅提供数据库驱动,很难查找到相关的资料,即使有也会涉及到版权这些问题。除此之外上层的数据操作接口也要重新定义和编写。
第三 其实JDBC 发展到现在 4.X 版本已经很优秀了,毕竟我们没有必要重新发明轮子
请问jdbc处理事务的时候,为什么非要保证同一个数据库链接
第一 JDBC是Java中操作数据库数据的规范,注意是规范和标准,除此之外别无它号,即使Hibernite,Batis 也是要建立在JDBC基础上的。JDBC定义了如何链接数据库(Connection),如何操作数据(ResultSet,Stement)和事务管理(Transcation ,SavePoint...),JDBC具体的实现是由数据库厂商或第三方提供。第二理论...
jdbc 有事务管理的是哪个类
事务处理是在针对数据库操作时一个重要环节,它可以保证执行多条记录的一致性,实现数据库中表与表之间的关联,同时提高了对数据操作的准确性、安全性。本文主要一起来学习在Java程序中如何使用JDBC来实现数据间的事务处理。一、什么是事务处理 事务处理就是当执行多个SQL指令时,如果因为某个原因使其中一条指令执行有错误...
spring框架中用到了哪些设计模式?
在我们的项目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。我们以往在spring和hibernate框架中总是配置一个数据源,因而sessionFactory的dataSource属性总是指向这个数据源并且恒定不变,所有DAO在使用sessionFactory的时候都是通过这个数据源访问数据库。但是现...
...怎么实现在一个事务中访问了多种类型数据库。
1、注册数据库驱动 2、用driverMagager获得数据库连接 3、获得connection之后就可以对数据库进行操作了 对于需求,其实也是比较容易实现的。只要对于多个要commit的地方,加到同一个try块中,就可以了。只要一个数据库存储出错,就会跳出该try,之后再 catch中执行对所以数据库的rollback。类似:try{ 以上...
谁能给我详细的解释一下JNDI,JTA,JMS都是什么啊?
XAConnection s 是参与 JTA 事务的 JDBC 连接。”要使用JTA事务,必须使用XADataSource来产生数据库连接,产生的连接为一个XA连接。XA连接(javax.sql.XAConnection)和非XA(java.sql.Connection)连接的区别在于:XA可以参与JTA的事务,而且不支持自动提交。 Note:Oracle, Sybase, DB2, SQL Server等大型数据库才支持XA,...
jdbc有哪些事务,各个事务特点?
事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。一致性处理数据库中对所有语义约束的保护。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。例如,当数据库处于一致性...
数据库连接池与JDBC的区别
1、理念方面的区别:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。JDBC(Java DataBase ...
spring事务传播机制 挂起是打开一个新连接么
db opeation ---i B()//some db opeation commit } public boolean B(){ startaction() --j //some db opeation commit 当A当用B时候,如果A与B是使用同一个数据库连接,那么调用A执行到j的时候i会提交到数据库 所以推测挂起是打开一个新连接,这样才不会影响B的事务提交 ...
spring事务使用?
如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。Spring事务的隔离级别ISOLATION_DEFAULT:这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。
JDBC快速入门:看我如何用JDBC数据库连接池,轻松解决大量并发请求问题...
数据库连接池是用于管理数据库连接的技术,它通过建立一个连接池,当需要访问数据库时,直接从池中获取已有的连接,避免了每次请求都创建新连接的开销。这样可以显著提高系统的性能,同时确保稳定性,并提升数据库响应速度。在传统JDBC代码中,每次使用数据库连接后都会将其销毁。这种做法导致了资源的浪费和...