SQL中事务有啥好处 如何使用事务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中事务有啥好处 如何使用事务相关的知识,希望对你有一定的参考价值。

事务的好处在于,当你需要对多个表进行相关性操作时,使用BeginTrans()开启事务,然后操作,如果中间哪个表更新出错了,或者数据有问题,你可以用RollBack()方法在取消之前的相关性操作,如果没有错,那就使用Commit()方法提交你的修改。另外,在这个过程中,所有你改动的内容只对你自己有效,别人不能知道你改了什么,也不能对你正在改的表做修改,直到你提交之后,别人才能修改这些表,检索出你修改过的内容。 参考技术A 比如 同时更新2个表,

如果其中1个更新失败,则全部更新撤回;只有2个更新都成功,则才提交更改。

这个时候使用事务就非常方便;而如果不使用事务,则特别麻烦,基本上不可控。

一般来说,如果写存储过程,则有begin trans(一般可以忽略),然后commit,或者rollback;

而其他对数据库操作的编程语言,一般也提供相应的事务操作。
参考技术B 事务是一个完整的单元,要么完成所有的,要不都不做,这样能保证数据的一致性、完整性,可以百度一下事务的几个特性。

在 Web 应用程序中使用 EJB 有啥好处?

【中文标题】在 Web 应用程序中使用 EJB 有啥好处?【英文标题】:What are the benefits of using EJBs in a Webapplication?在 Web 应用程序中使用 EJB 有什么好处? 【发布时间】:2012-05-16 18:30:59 【问题描述】:

我正在使用 Java EE 开发一个数据库驱动的 Web 应用程序,我想知道使用 EJbs 的好处。

如果我理解正确,最好将 EJB 用于各种业务逻辑或数据库事务。

我使用 Hibernate 作为我的 JPA,这是我的问题:

使用注入的 EJB 作为 DAO,而不是使用常规的 Java 类作为 DAO(从我的托管 Bean 调用)有什么好处?又有什么区别呢?

我是 Java EE 的新手,所以这可能是一个初学者的问题。

【问题讨论】:

【参考方案1】:

如果您使用 EJB,则可以使用 EJB 容器提供的许多非常重要的服务。对几乎任何人都有用的最重要的是依赖注入和声明性事务。这两者都可以由 Spring 框架提供。对于非常大的应用程序,EJB 有一个定义良好的集群模型会很有用,但您可能不需要它。

【讨论】:

所以在小型应用程序中为我的业务逻辑使用常规类是“可以的”? @tk2000:即使在那里你也需要交易,而手动进行交易既乏味又容易出错。如果您已经在使用 java EE 服务器并因此有可用的 EJB 容器,那么值得为此使用 EJB。现代 EJB 非常易于使用 - 只需要一些注释,您不必再处理部署描述符和 JNDI 查找,所以没有理由害怕它们。 这个答案+1。手动处理 JPA 中的事务是一件痛苦的事情。 EJB 几乎是一个普通的类,只需将 @Stateless 放在它上面,不要用 new 创建它,而是注入它。在 90% 的情况下,这就是您需要知道的全部内容。

以上是关于SQL中事务有啥好处 如何使用事务的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2000日志有啥用处

Sql Server 中的大事务,有啥问题吗?

Mysql中的事务是啥如何使用

如何在 Azure 的一个事务中执行多个 SQL 文件?

如何使用存储过程在 LINQ to SQL 中使用事务?

在 Web 应用程序中使用 EJB 有啥好处?