ADF 后台调用 存储过程
来源:互联网 发布:淘宝全球购资质 编辑:程序博客网 时间:2024/05/16 06:27
在项目开发中,我们经常用到存储过程来实现某些业务功能:
下面是简单的后台java 代码调用 oracle 11g 或12c数据库的中存储过程的方法
本人用到如下的 方法:
第一种
String stmt = "BEGIN XxXX(?,?,?,?); END;";
java.sql.CallableStatement st = null;
String returnString = "";
try {
st = am.getDBTransaction().createCallableStatement(stmt, 0);
st.setString(1, startNj);
st.setString(2, endNj);
st.setString(3, (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date()));
st.registerOutParameter(4, Types.VARCHAR);
st.executeUpdate();
returnString = st.getString(4);
if (returnString != null && !returnString.contains(endNj)) { //未查到数据。
JSFUtils.addFacesErrorMessage(returnString);
am.getDBTransaction().rollback();
go = "cancel";
} else {
am.getDBTransaction().commit();
go = "ok";
}
} catch (java.sql.SQLException s) {
am.getDBTransaction().rollback();
s.printStackTrace();
throw new oracle.jbo.JboException(s);
} finally {
try {
if (st != null) {
st.close();
}
} catch (java.sql.SQLException s2) {
throw new oracle.jbo.JboException(s2);
}
}
第二种:
(XXXAMImpl)am = (XXXAMImpl) AMUtils.getAm(XXX);
DBTransaction db = am.getDBTransaction();
Statement st = db.createStatement(0);
Connection conn = null;
try {
conn = st.getConnection(); //获取数据库的链接
//调用存储过程
String proname = proname = "{ call XXXX(?,?,?,?,?,?)}";
CallableStatement stmt = conn.prepareCall(proname);
// 装订数组
stmt.setObject(1, xx1);
stmt.setObject(2, xx2);
stmt.setObject(3, xx3);
stmt.setObject(4, xx4);
stmt.setObject(5, xx5);
stmt.setObject(6, xx6);
stmt.execute();
} catch (SQLException e) {
am.getTransaction().rollback();
JSFUtils.addFacesInformationMessage("出现异常!");
} finally {
if (conn != null) {
conn.close();
}
if (st != null) {
st.close();
}
}
- ADF 后台调用 存储过程
- 在ADF中调用带数组的存储过程
- ADF中调用PLSQL存储过程和函数
- ADF中调用PLSQL存储过程和函数
- ADF中调用PLSQL存储过程和函数
- 在ACCESS 中调用后台存储过程
- 在ACCESS 中调用后台存储过程
- 在ACCESS 中调用后台存储过程
- 求关于JAVA后台调用视图,后台调用存储过程,视图调用存储过程的书,越详细越好
- 存储过程调用存储过程
- Ibatis调用存储过程调用存储过程
- 分页!存储过程!后台代码!
- Java调用存储过程
- 存储过程调用
- asp调用存储过程!
- Asp调用存储过程
- Java 调用存储过程
- Java 调用存储过程
- 精品运维视频推荐-马哥
- 数据结构重读 – 键树、字典树 中文
- 暑假第二天 7月7日
- 网页 如何适应不同分辨率
- Android popupwindow 和 Activity弹出窗口实现方式
- ADF 后台调用 存储过程
- 死锁举例
- 精品运维视频推荐-基础学习
- 基于jQuery的placeholder插件
- extjs(sencha touch) 调用.net webservice
- 如何利用直通车快速打造爆款?
- 过滤器类Filter Classes
- 数据库中NULL与空是不同的
- 第十九章、TIny4412 U-BOOT移植十九 LCD移植