`
darrenzhu
  • 浏览: 797298 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java 方法(JdbcTransactionTemplate)与存储过程共享同一个事务

阅读更多
如果要让java来管理事务,那么在存储过程里不能写提交(commit work)和回滚(rollback)的代码,否则,存储过程会在一个单独的事务里提交。

Spring的TransactionTemplate和Sybase存储过程共享同一事务要点:
1)确保存储过程里不能写提交(commit work)和回滚(rollback)的代码
2)确保存储过程的事务模式是chained
--change transaction mode to chained since application is forced to use chained transaction mode due to support transaction
--check all stored procedures' transaction mode
sp_procxmode

--change specified stored procedure's transaction mode
sp_procxmode mystoreProcedureXXX, 'chained'

3)在java方法里要用spring的类来调用存储过程
new SimpleJdbcCall(getJdbcTemplate()).withProcedureName("procedureName").execute(inParamMap);




分享到:
评论

相关推荐

    Java调用存储过程--传入集合参数

    在这个场景中,我们将从Java应用程序收集一系列用户数据,将其转换为Oracle数组,然后调用一个预定义的存储过程进行批量更新操作。 #### 五、注意事项与优化建议 - **类型匹配**:确保Java对象属性与数据库对象...

    java调用oracle存储过程或者函数

    如果需要调用多个存储过程或函数,可以使用`CallableStatement.addBatch()`方法将多个调用语句添加到批处理队列,然后用`CallableStatement.executeBatch()`一次性执行,提高效率。 六、性能优化 1. 使用连接池:...

    Java调用数据库存储过程[mysql测试通过]

    本篇文章将深入探讨如何使用Java与MySQL数据库进行交互,实现调用存储过程,并提供一个测试通过的实例。 首先,理解存储过程是数据库管理系统提供的一种预编译的SQL语句集合,它封装了特定的功能,可以提高执行效率...

    Java调用存储过程的2种方法

    ### Java调用存储过程的两种方法 在Java中调用数据库中的存储过程是常见的操作之一,这不仅可以提高程序性能和代码可维护性,还可以更好地利用数据库的功能。根据提供的标题、描述以及部分内容,本文将详细介绍Java...

    java 调存储过程

    在Java编程中,调用数据库存储过程是一种常见的操作,特别是在处理复杂的业务逻辑或者批量数据操作时。存储过程是由一组SQL语句组成的预编译代码,它们存储在数据库中,可以被多次调用,提高效率并简化代码管理。...

    Java调用Oracle存储过程的方法

    以下是一个示例,演示如何调用返回一个整型值和游标的存储过程: ```java // 建立连接 Connection conn = DBFactory.getConnection("ORACLEDS"); CallableStatement call = null; ResultSet rs = null; try { // ...

    DB2Java存储过程.pdf

    通过以上内容可以看出,《DB2 Java 存储过程》这本书全面地覆盖了 Java 与 DB2 结合的各个方面,包括 Java 在不同平台上的应用、数据库连接技术以及存储过程的具体实现等。这对于希望深入了解 DB2 Java 存储过程开发...

    java传list给存储过程,项目提取,不忽悠

    以上就是Java中将List传给存储过程的基本步骤和一个简单示例。实际项目中,你可能需要处理更复杂的情况,比如异常处理、事务管理、批量操作等。请确保你的数据库驱动正确配置,并根据实际存储过程的参数类型和返回值...

    JAVA&C#调用存储过程代码

    以一个简单的例子展示Java调用存储过程: ```java import java.sql.*; public class CallProcedure { public static void main(String[] args) { try { Connection conn = DriverManager.getConnection("jdbc:...

    JAVA调用存储过程

    2. **创建`CallableStatement`**:通过`prepareCall`方法创建`CallableStatement`对象,并提供一个包含存储过程名称及参数占位符的字符串。 ```java CallableStatement callableStatement = connection....

    java中调用sql存储过程详细例子

    例如,如果我们有一个名为`getTestData`的存储过程,接受两个参数,但不返回结果,可以这样创建`CallableStatement`: ```java CallableStatement cstmt = con.prepareCall("{call getTestData(?, ?)}"); ``` 2...

    使用Java编写Oracle存储过程.pdf

    示例代码中展示了如何使用Java来创建一个添加记录的存储过程,该过程名为addUser,接受用户名和电子邮件作为参数,并执行SQL插入操作。代码中创建了与Oracle数据库的连接,并构造了一个动态的SQL语句来向数据库中...

    JAVA存储过程详解

    ### JAVA存储过程详解 在Java开发中,存储过程是一种预编译并存储在数据库中的SQL脚本或程序,它可以接收参数、执行复杂的逻辑,并返回结果。利用Java来调用存储过程,可以极大地提高应用程序的性能和安全性。下面...

    Java调用Mysql存储过程

    在Java编程中,调用MySQL存储过程是一种常见的数据库交互方式,尤其在处理复杂业务逻辑或大量数据操作时。本文将详细讲解如何通过Java来执行MySQL的存储过程。 首先,了解存储过程的基本概念。存储过程是预编译在...

    在java中使用存储过程

    在Java中使用存储过程涉及到多个知识点,包括数据库连接、CallableStatement接口的应用以及具体的SQL语句调用等。本文将从这些方面入手,详细介绍如何在Java应用程序中调用存储过程。 ### 一、数据库连接 #### 1.1...

    java调用存储过程源码 sql数据库

    例如,你可以创建一个存储过程来处理事务,确保一组操作要么全部成功,要么全部失败。另外,存储过程可以包含数据库特定的功能,比如MySQL的用户定义函数(UDF)或Oracle的PL/SQL块。 为了优化性能,考虑以下几点:...

    springboot mybatis 动态调用oracle存储过程,通过存储过程名称,就能动态调用存储过程、java动态调用or

    能不能写个动态的业务,只输入存储过程名称,自动...只写一个通用方法,就可以调用所有的存储过程。只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载

Global site tag (gtag.js) - Google Analytics