100分!关于怎么封装Jdbc连接oracle存储过程

zdnetchina 2005-03-07 12:10:17
对存储过程不熟,请帮帮忙!
...全文
204 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdnetchina 2005-03-13
  • 打赏
  • 举报
回复
thank you !

try.......
yyjianjun 2005-03-10
  • 打赏
  • 举报
回复
select 语句是用PrepareStatement , 存储过程要用CallableStatement.
给你一段代码:
public void execProcedure(String subscriber, String user,
Timestamp startDate, Timestamp endDate, Timestamp newVersion )
throws ETMDataAccessException {

SQLConnectionManager manager = null;
Connection conn = null;
CallableStatement cStmt = null;

boolean commit = false;
try {
manager = SQLConnectionManager.getInstance();
conn = manager.getConnection();
cStmt = conn.prepareCall("{call REPORT_EFFORT_SUMMARY(?,?,?,?,?) }");
cStmt.setTimestamp(1, startDate);
cStmt.setTimestamp(2, endDate);
cStmt.setString(3, subscriber);
cStmt.setString(4, user);
cStmt.setTimestamp(5, newVersion);
boolean bRight = cStmt.execute();
//if (bRight != true) {
// throw new SQLException();
// }
commit = true;
} catch (SQLException e) {
throw new ETMDataAccessException(e);
} catch (ETMInitializationException e) {
throw new ETMDataAccessException(e);
} finally {
try {
if (commit) {
conn.commit();
} else {
conn.rollback();
}
} catch (Exception e) {
throw new ETMDataAccessException(e);
} finally {
if (cStmt != null) {
try {
cStmt.close();
} catch (Exception e) {}
}
if (manager != null) {
manager.releaseConnection(conn);
}
}
}
// return commit;
}
yyjianjun 2005-03-10
  • 打赏
  • 举报
回复
CallableStatement cStmt = conn.prepareCall("{call REPORT_EFFORT_SUMMARY(?,?,?,?,?) }");

其中: Connection conn;
"REPORT_EFFORT_SUMMARY " 是我的存储过程名
zdnetchina 2005-03-09
  • 打赏
  • 举报
回复
up
zdnetchina 2005-03-07
  • 打赏
  • 举报
回复
就是原来用sql封装好的Bean不用改
hotenM 2005-03-07
  • 打赏
  • 举报
回复
跟执行select语句一样
hlsps 2005-03-07
  • 打赏
  • 举报
回复
up

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧