带有 sql 语句的 Java JDBC exec 过程

Posted

技术标签:

【中文标题】带有 sql 语句的 Java JDBC exec 过程【英文标题】:Java JDBC exec procedure with sql statement 【发布时间】:2013-05-21 12:14:06 【问题描述】:

我需要执行这段 SQL 代码:

exec procedure(param, param, param, param)

select * from bla_bla_table;

commit;

并从此查询中获取一个 ResultList。

我试着这样做:

CallableStatement stmt = connection.prepareCall("call procedure(param,param,param,param)");
stmt.execute();

如何在commit 之前在此处插入sql 语句select * from bla_bla_table; 以获取ResultSet。我尝试了很多方法来做到这一点......但没有任何帮助。

【问题讨论】:

你想使用过程获取记录吗? 【参考方案1】:

你试过了吗?

connection.setAutoCommit(false); // Disable Auto Commit
CallableStatement stmt = connection.prepareCall("call procedure(param,param,param,param)");
stmt.execute();

Statement stmt2 = connection.createStatement();
ResultSet rs = stmt2.executeQuery("select * from bla_bla_table"); // Result set for Query

connection.commit();

【讨论】:

哦.. 伙计,你太棒了!我对 JDBC 有点陌生,所以你的回答对我很有帮助! Tnx!【参考方案2】:

在执行代码后添加此代码。

PreparedStatement prep = connection.prepareStatement(string);
ResultSet rs = prep.executeQuery();
// now iterate the resultset.

在做任何事情之前,您应该确保通过将连接的自动提交选项设置为 false 来运行事务。

connection.setAutoCommit(false);

【讨论】:

以上是关于带有 sql 语句的 Java JDBC exec 过程的主要内容,如果未能解决你的问题,请参考以下文章

ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

java jdbc sql语句参数的设置

java jdbc 执行sql语句批量操作问题

java中怎么执行sql语句

如何用java语言中如何执行sql查询语句

请问下在java jdbc中:sql语句中含有or 时,该如何为这个占位符(?)赋值····求解 如下图: