如何在 JDBC 中启动事务?

2023-12-10

Connection.setTransactionIsolation(int) warns:

注意:如果在事务期间调用此方法,则结果是实现定义的。

这就提出了一个问题:如何在 JDBC 中开始事务?如何结束交易很清楚,但如何开始交易却不清楚。

If a Connection从事务内部开始,我们应该如何调用Connection.setTransactionIsolation(int)在事务之外以避免特定于实现的行为?


回答我自己的问题:

  • JDBC 连接开始于启用自动提交模式,其中每个 SQL 语句都隐式地用事务划分。
  • 希望每个事务执行多个语句的用户必须转向自动提交关闭.
  • 更改自动提交模式会触发当前事务的提交(如果该事务处于活动状态)。
  • Connection.setTransactionIsolation()如果启用了自动提交,则可以随时调用。
  • 如果自动提交被禁用,Connection.setTransactionIsolation()只能在事务之前或之后调用。在事务中间调用它会导致未定义的行为。

See JDBC教程由甲骨文公司。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JDBC 中启动事务? 的相关文章

  • 如何迭代 stringtemplate 中的 java 列表?

    我想迭代字符串模板内的休眠查询结果 我一直在寻找例子 但找不到任何东西 你能帮忙吗 谢谢 语法看起来像
  • 从字符串中提取整数并将它们添加到Java中[重复]

    这个问题在这里已经有答案了 我想从字符串中提取整数并将它们相加 Ex String s ab34yuj789km2 我应该从中得到整数的输出 825 即 34 789 2 825 这是一种方法 使用 String split public
  • 连接 Netbeans 和 MySQL 但出现大整数错误

    所以我正在尝试向我的 Netbeans 数据库 即 MySQL 添加新连接 但我遇到了大整数转换错误 有人可以帮助我吗 详细地 我右键单击现有的MySQL 服务器位于 localhost 3306 root 已断开连接 gt gt 选择co
  • 何时在java中使用get/set方法[重复]

    这个问题在这里已经有答案了 我想知道何时在我的类中使用 get 和 set 方法 getName setName 以及何时简单classVariable name 反而 classVariable getName 这是使用 set 和 ge
  • Java - 直观地拖动摆动元素

    有没有类似的解决方案http allen sauer com com allen sauer gwt dnd demo DragDropDemo DragDropDemo html PaletteExample http allen sau
  • 为什么 Java 类加载器找不到我的接口?

    在下面的代码中 我使用动态生成一个类sun tools javac Main 我将使用反射创建此类的新实例 问题是 我想避免使用 Reflection 来调用我为此类定义的方法 因此我创建了一个 ProxyInvoker 来引用我在项目中定
  • 此代码签名证书对于签名小程序有效吗?

    我们购买了代码签名证书来签名小程序 但在签名小程序时出现以下错误 C CM WEB INF gt jarsigner keystore code signing keystore C CM SweetApplet jar code sign
  • 使用 GIN 注入 Class

    有没有办法注入类类型Class
  • Spring REST 控制器返回带有空数据的 JSON [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个简单的 Spring Boot Web 应用程序 我正在尝试从服务器接收一些数据 控制器返回一个集合 但浏览器收
  • Java 8 流排序字符串列表[重复]

    这个问题在这里已经有答案了 我正在流上调用排序方法 java 文档说 Sorted 方法返回一个由该流的元素组成的流 并根据自然顺序排序 但是当我运行下面的代码时 List
  • 如何修复XSS漏洞

    我们正在使用 fortify 扫描 java 源代码 它抱怨以下错误 Method abc sends unvalidated data to a web browser on line 200 which can result in th
  • RecyclerView onItemClickListener 不工作

    我正在研究回收视图并尝试对 recyclerview 的每个项目使用点击侦听器界面 这是我的活动课程 public class LegacyHomeActivity extends ActivityBaseDrawer private Li
  • 如何在使用 Web 服务时获取会话对象?

    如何在使用 Web 服务时获取会话对象 服务在两个程序之间调用 如何在使用 Web 服务时获取用户会话对象 不可能使用请求对象获取会话 因为当我们谈论服务时不会有请求或响应 如果您正在与JAX WS https jax ws dev jav
  • maven默认过滤器目录的好处[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近我发现了maven资源过滤并在文档中看到了一条注释 标准目录布局src main filters 资源过滤器文件 我注意到maven不搜索声
  • 使用电子邮件、用户名和密码进行 Firebase 身份验证

    我想知道是否可以使用电子邮件和用户 ID 密码登录 我有一个项目 我希望用户添加一个唯一的号码 实际上是我们公司提供的工作识别号码 以便能够签名参与该计划的人员将继续留在公司就业 即使电子邮件和密码正确但用户 ID 错误 我也需要 fire
  • 无法使用 jolokia 从 Kafka 提取 JMX 数据

    我已经在 centos 7 机器上安装了 Jolokia 并尝试使用 Jolokia 代理提取 Kafka 指标 并使用 Nagios 插件 check jmx4perl 与 Icinga 监控工具集成 以下是我遵循的配置步骤 步骤1 下载
  • 在java中的super调用之前创建一个对象

    考虑到简单的java代码是行不通的 public class Bar extends AbstractBar private final Foo foo new Foo bar public Bar super foo 我需要在之前创建一个
  • 将文件内容存储到数组中

    我的刽子手程序有问题 我真的认为我需要做的事情超出了我对java的理解 这是我的代码 import java io BufferedReader import java io FileReader import java io FileNo
  • JFrame 类型的方法 ... 未定义

    我正在尝试制作一个带有两个菜单列表的 gui 每个菜单列表有 3 个项目 我的问题是 当我单击某个项目时 出现错误 JFrame 类型的方法 displayList int AirplaneList 未定义 AirplaneControll
  • Jsplitpane 自动调整大小

    我有一个 JSPlitPane 它们之间有 50 的分隔线 这工作正常 但是 当我在右侧添加一些 JLabels 时 jsplitpane 会忽略我的 50 分隔符 左侧窗格会增加其大小 并会挤压右侧窗格 为什么会发生这种情况以及如何解决

随机推荐