/**
* 执行存储过程
* @param 存储过程名称
* @param 所需参数
* @return 存储过程发返回的错误信息
* @author wuhao
* @throws Exception
*/
public static void executeProc(String call,Object[] params) throws Exception{
String result = "";
Connection conn = null;
CallableStatement proc = null;
try {
conn = dao.getSessionFactory().openSession().connection();
conn.setAutoCommit(false);
proc = conn.prepareCall(call);
int index = 0;
if(params != null && params.length > 0){
for (int i = 1; i <= params.length; i++) {
proc.setObject(i, params[i-1]);
index +=1;
}
}
index = index+1;
proc.registerOutParameter(index,Types.VARCHAR);
proc.execute();
result = proc.getString(index);
if( null != result && !result.equals("") ){
conn.rollback();
} else {
conn.commit();
}
} catch (Exception e) {
conn.rollback();
throw e;
} finally {
if(null != proc)
proc.close();
if(null != conn)
conn.close();
}
}
分享到:
相关推荐
它提供了与数据库交互的功能,包括设置输入参数、执行存储过程以及处理输出参数等。 - **`StoredQueryInfo`**:该类封装了存储过程的元信息,如名称、参数等,方便在调用过程中使用。 - **`RowMapper`**:这是Apache...
- **执行存储过程**:调用`CallableStatement.execute()`执行存储过程。 - **获取返回值**:执行后,可以通过`CallableStatement.getInt(index)`等方法获取输出参数的值。 - **关闭资源**:记得在完成操作后,...
"java执行SQL语句实现查询的通用方法详解" 本文主要介绍了java执行SQL语句实现查询的通用方法详解,具有一定借鉴价值,需要的朋友可以参考下。 一、Java执行SQL语句实现查询的通用方法详解 在Java中执行SQL语句...
能不能写个动态的业务,只输入存储过程名称,自动...只写一个通用方法,就可以调用所有的存储过程。只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载
针对java调用存储过程写的通用封装,oracle,mssql测试通过,附带测试脚本.以前写过一个,感觉不是很好,这个周末就重写了一个,大家多多提意见,是eclipse工程直接跑junit就行了,所有的东西都在里面.除了存储过程也可以...
在SQL查询中,可以直接通过`CALL`语句来执行存储过程,例如: ```sql CALL my_procedure(@input1, @output1); ``` - **在编程语言中调用** 对于不同的编程语言,如Java、Python、C#等,都有相应的API或库支持...
封装JDBC调用存储过程的通用方法可以大大提高代码的可读性和复用性。例如,可以创建一个抽象类或接口,定义一个方法,该方法接受存储过程名称、输入参数和输出参数,然后在内部执行上述步骤。这样,每次需要调用存储...
### Java调用Oracle与SQL Server存储过程的通用方法 #### 1. **建立数据库连接** 在Java中,使用JDBC(Java Database Connectivity)来连接数据库。根据`dbType`参数动态选择正确的数据源,即Oracle或SQL Server的...
`MySqlUtil.java`可能包含与MySQL数据库交互的通用工具类,`MySqlJdbcTest.java`和`MySqlTest.java`则可能包含了具体的测试用例,比如创建触发器、执行存储过程、备份和恢复数据的代码实例。 总之,通过JDBC,Java...
本文将详细探讨"JAVA写的通用分页"这一主题,结合描述中的"通用高效分页存储过程实现",我们将深入理解Java分页的原理、实现方式以及优化策略。 首先,分页的基本概念是将大量数据分块展示,而不是一次性加载所有...
本主题聚焦于一个特定的Java类——"DBManager",这是一个通用的数据库连接类,设计用于简化数据库操作,特别是对存储过程的支持,并且具备参数自动识别功能。 首先,让我们了解Java中的数据库连接。Java通过JDBC...
通用查询系统需要支持这些基本操作,并可能涉及存储过程和触发器。 4. **多数据库支持**:系统设计需考虑兼容多种数据库系统,如MySQL、Oracle、SQL Server等。这需要了解不同数据库的JDBC驱动特性和SQL方言差异。 ...
【Java实习周报通用25篇】记录了一个实习生在五个礼拜内的学习和成长历程,涵盖了从适应新环境、熟悉基础语法到深入理解高级概念的过程。 第一周,实习生主要适应了公司环境,意识到实习不仅仅是学习新知识,而是...
Java数据库操作通用类是软件开发中一个非常实用的设计模式,它允许开发者编写一次代码,就能在不同的数据库系统上执行SQL操作。这样的设计提高了代码的可重用性和维护性,降低了因更换数据库系统而带来的修改成本。...
身份验证是确认用户身份的过程,而授权则是决定已认证的用户可以访问哪些资源或执行哪些操作。在Java中,我们可以利用JASPIC(Java Authentication and Authorization Service for Containers)或JAAS(Java ...
- `Pagination.java`: 分页参数类,存储页码和每页大小。 - `PaginationService.java`: 分页服务接口,定义分页查询方法。 - `PaginationServiceImpl.java`: 分页服务实现,包含具体的数据库查询和结果封装。 - `...
`调用存储过程(1).doc`和`调用存储过程.doc`可能侧重于如何在应用程序中调用存储过程,这可能包括了在SQL命令行、PL/SQL块中或者使用其他编程语言(如Java、C#)的数据库连接API来执行存储过程的方法。这些文档对于...
4. 调用 `m1.invoke(foo)` 来执行 `outInfo` 方法,`invoke` 方法用于调用获取到的方法对象,传入对象实例作为参数。 5. 调用 `m2.invoke(foo, "msgϢ")` 设置 `msg` 字段的值,这里 `invoke` 方法的第二个参数是...
《Java通用范例开发金典》是一本专为Java开发者准备的实践指南,它涵盖了Java编程的多个核心领域,旨在帮助读者深入理解并熟练运用Java语言进行软件开发。该书的源代码是学习和参考的重要资源,能为初学者提供实际...
在本项目中,我们主要探讨了两个基于Java的通用安全模块的设计与实现,这些模块对于保护软件系统免受潜在威胁至关重要。Java作为一种广泛使用的编程语言,具有跨平台、安全性强的特点,因此,构建在Java上的安全模块...