servlet首先建立数据库连接类ConnectFactory:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class ConnectFactory {
private Connection conn;
private DataSource connnectionPool;
//链接中间件的连接池
public ConnectFactory(){
try {
InitialContext ctx = new InitialContext();
connnectionPool = (DataSource) ctx.lookup("PaymentDS");
}
catch (Exception e) {
e.printStackTrace();
}
}
//获得连接池的链接对象
public Connection getConn() throws Exception {
try {
conn=connnectionPool.getConnection();
return conn;
}
catch (SQLException sqle) {
throw new Exception();
}
}
static{
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundException e){
throw new ExceptionInInitializerError(e);
}
}
//获得手写链接字符串的链接
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection("jdbc:oracle:thin:@192.168.2.37:1521:sdecp","eca","errors");
}
}
外部调用链接:
public Map getBusinessB2ADeal(String b2aNo) throws Exception{
Map res = null;
Connection con = ConnectFactory.getConnection();
// Connection con = new ConnectFactory().getConn();
CallableStatement cs = con.prepareCall("{call proc_business_b2aNo(?,?,?,?,?,?)}");
cs.setString("b2aNo", b2aNo);
cs.registerOutParameter("b2aBank", Types.VARCHAR);
cs.registerOutParameter("b2aAmount", Types.DOUBLE);
cs.registerOutParameter("b2aType", Types.VARCHAR);
cs.registerOutParameter("b2aNotify", Types.VARCHAR);
cs.registerOutParameter("b2aBill", Types.VARCHAR);
cs.execute();
String b2aBank = cs.getString("b2aBank");
String b2aAmount = cs.getString("b2aAmount");
String b2aType = cs.getString("b2aType");
String b2aNotify = cs.getString("b2aNotify");
String b2aBill = cs.getString("b2aBill");
if(!StringUtils.isEmpty(b2aBank)){
res = new HashMap();
res.put("bankId", b2aBank);
res.put("amount", b2aAmount);
res.put("b2aType", b2aType);
res.put("b2aNotify", b2aNotify);
res.put("b2aBill", b2aBill);
}
cs.close();
con.close();
return res;
}
存储过程:
CREATE OR REPLACE PROCEDURE proc_business_b2aNo(
b2aNo in varchar2,
b2aBank out varchar2,
b2aAmount out NUMBER,
b2aType out varchar2,
b2aNotify out varchar2,
b2aBill out varchar2
)
IS
BEGIN
SELECT tb2a.b2a_bank,tb2a.b2a_amount,tb2a.b2a_Type,tb2a.b2a_NOTIFY,tb2a.b2a_Bill
INTO b2aBank,b2aAmount,b2aType,b2aNotify,b2aBill
FROM t_b2a tb2a WHERE tb2a.b2a_no = b2aNo;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END proc_business_b2aNo;
分享到:
相关推荐
网上商城项目是一个典型的Java Web应用,它利用Servlet技术与Oracle数据库进行交互,为用户提供在线购物的功能。这个项目对于初学者来说是一份宝贵的学习资源,涵盖了Web开发中的许多关键概念。 首先,Servlet是...
本文将深入探讨一个典型的人事信息管理系统,该系统采用先进的技术栈——JSP、Servlet以及Oracle数据库,旨在提供高效、安全且功能完善的人事管理解决方案。 一、系统架构与技术选型 1. JSP(JavaServer Pages):...
【JAVA-ORACLE存储过程】是一个关于如何在Java应用程序中调用Oracle数据库中的存储过程的主题。这个主题涵盖了Java编程、Oracle数据库操作以及JSP(JavaServer Pages)的应用,旨在帮助开发者实现更高效的数据处理和...
在这个毕业设计项目中,我们主要探讨的是如何使用Java语言调用Oracle数据库的存储过程来实现分页功能,这在Web应用程序中非常常见,尤其是在处理大数据量时,为了提高用户体验,分页是一种有效的数据展示方式。...
- `exesyscommand.jsp`: 这看起来是一个Java Servlet,可能是用于通过Web接口与数据库交互,调用存储过程执行批处理脚本。 - `PR_OTHER_SYSTEM_DATA_IMPORT.prc`: 这可能是一个存储过程,用于导入其他系统数据,它...
这个项目涵盖了Java、Servlet和Oracle数据库这三个关键组件,它们共同构建了一个功能完善的网络应用。下面我们将深入探讨这个项目中的重要知识点。 1. **Java Servlet**: - **Servlet基础**:Servlet是Java编程...
通过这个实例,你可以学习到如何在实际项目中使用JSP和Oracle数据库,理解它们之间的交互过程,以及如何处理Web应用中的数据存储和检索。此外,还可以了解到JDBC、JavaBean、EL和JSTL等技术的实战应用。这个简单的...
SQLJ 提供了类型安全性和性能优化,特别适合于复杂的数据库操作,如存储过程调用。 在 J2EE(Java 2 Platform, Enterprise Edition)环境中,Java 应用访问 Oracle9i 数据库的方式更加丰富。J2EE 定义了不同层次的...
在本项目中,"jsp+servlet+oracle+新闻管理系统"使用了Java技术栈,包括JSP(JavaServer Pages)、Servlet以及Oracle数据库,构建了一个功能完善的新闻发布与管理平台。 【JSP技术】 JSP是Java EE的一部分,主要...
系统利用了Oracle数据库作为后端存储,实现了对招生过程中的各种信息进行集中管理和处理。 首先,我们要了解Java前台技术。Java作为一门多平台、面向对象的编程语言,具有丰富的类库和强大的功能,特别适合开发跨...
1. Java JSP/Servlet:通过JDBC(Java Database Connectivity)驱动,Java开发者可以连接并操作Oracle数据库。使用Statement或PreparedStatement执行SQL语句,以及ResultSet处理查询结果。 2. PHP:PHP也支持Oracle...
4. **存储过程和函数**:如何在Oracle中创建和调用存储过程及函数,以及在JSP中如何执行这些数据库操作。 5. **索引和优化**:探讨了数据库性能优化策略,如创建索引、查询优化和表分区。 6. **安全性和权限管理**...
通过使用servlet、jsp、service层和Oracle数据库来构建一个简单的登录注册系统,不仅可以帮助初学者理解Web应用的基本工作原理,还可以加深对servlet和数据库交互的理解。此外,这种架构还提供了一种可扩展的方式来...
Oracle数据库与Web应用的整合涉及到JDBC(Java Database Connectivity)技术,它是Java标准API,允许Java程序连接到各种数据库,包括Oracle。开发者通常会使用PreparedStatement和CallableStatement来执行SQL查询,...
### Java中读取Oracle数据库BLOB字段存储的图片方法详解 #### 一、背景与目的 在实际的应用开发过程中,经常会有将图片等二进制数据存入数据库的需求。Oracle数据库支持通过BLOB(Binary Large Object)类型来存储...
Statement用于简单查询,PreparedStatement能防止SQL注入,CallableStatement用于调用存储过程。 6.批处理:对于大量相似的SQL操作,可以使用批处理API提高性能,避免频繁的网络往返。 7.事务管理:JDBC提供了一套...
例如,当用户在JSP页面上提交信息时,Servlet会接收到这些请求,然后通过调用Oracle数据库的SQL语句来执行相应的数据库操作。 Oracle数据库是一个强大的关系型数据库管理系统,被广泛应用于企业级应用中。在这里,...
### Java 实现 Oracle 数据库备份的关键知识点 #### 一、Oracle 数据库备份的重要性及方法概述 在企业级应用中,数据库作为数据存储的核心组件,其安全性至关重要。Oracle 数据库作为主流的关系型数据库管理系统之...
数据库部分,虽然具体使用哪种数据库没有明确指出,但通常情况下,如MySQL或Oracle这样的关系型数据库会被用来存储商品信息,包括商品ID、名称、价格、库存等。Servlet通过SQL查询语句与数据库交互,获取或更新商品...
Oracle数据库在实现BBS(电子公告板系统)中扮演着核心角色,它是数据存储和管理的基石。BBS系统主要用于用户交互,如发布主题、回复、上传文件等,因此需要强大的数据库支持以确保数据的稳定性和高效性。下面将详细...