`
songylwq
  • 浏览: 129753 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

java servlet 调用oracle数据库存储过程

 
阅读更多

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;




分享到:
评论

相关推荐

    网上商城(servlet+oracle数据库)--完整

    网上商城项目是一个典型的Java Web应用,它利用Servlet技术与Oracle数据库进行交互,为用户提供在线购物的功能。这个项目对于初学者来说是一份宝贵的学习资源,涵盖了Web开发中的许多关键概念。 首先,Servlet是...

    人事信息管理系统JSP+Servlet+Oracle数据库

    本文将深入探讨一个典型的人事信息管理系统,该系统采用先进的技术栈——JSP、Servlet以及Oracle数据库,旨在提供高效、安全且功能完善的人事管理解决方案。 一、系统架构与技术选型 1. JSP(JavaServer Pages):...

    JAVA-ORACLE存储过程

    【JAVA-ORACLE存储过程】是一个关于如何在Java应用程序中调用Oracle数据库中的存储过程的主题。这个主题涵盖了Java编程、Oracle数据库操作以及JSP(JavaServer Pages)的应用,旨在帮助开发者实现更高效的数据处理和...

    毕业设计-源码Java调用Oracle存储过程实现分页功能

    在这个毕业设计项目中,我们主要探讨的是如何使用Java语言调用Oracle数据库的存储过程来实现分页功能,这在Web应用程序中非常常见,尤其是在处理大数据量时,为了提高用户体验,分页是一种有效的数据展示方式。...

    Oracle存储过程调用bat批处理脚本程序

    - `exesyscommand.jsp`: 这看起来是一个Java Servlet,可能是用于通过Web接口与数据库交互,调用存储过程执行批处理脚本。 - `PR_OTHER_SYSTEM_DATA_IMPORT.prc`: 这可能是一个存储过程,用于导入其他系统数据,它...

    初学者写留言本,带分页的java+servlet+oracle!

    这个项目涵盖了Java、Servlet和Oracle数据库这三个关键组件,它们共同构建了一个功能完善的网络应用。下面我们将深入探讨这个项目中的重要知识点。 1. **Java Servlet**: - **Servlet基础**:Servlet是Java编程...

    java留言板,oracle数据库,JSP实例

    通过这个实例,你可以学习到如何在实际项目中使用JSP和Oracle数据库,理解它们之间的交互过程,以及如何处理Web应用中的数据存储和检索。此外,还可以了解到JDBC、JavaBean、EL和JSTL等技术的实战应用。这个简单的...

    Java访问Oracle9i数据库的方法研究.pdf

    SQLJ 提供了类型安全性和性能优化,特别适合于复杂的数据库操作,如存储过程调用。 在 J2EE(Java 2 Platform, Enterprise Edition)环境中,Java 应用访问 Oracle9i 数据库的方式更加丰富。J2EE 定义了不同层次的...

    jsp+servlet+oracle+新闻管理系统

    在本项目中,"jsp+servlet+oracle+新闻管理系统"使用了Java技术栈,包括JSP(JavaServer Pages)、Servlet以及Oracle数据库,构建了一个功能完善的新闻发布与管理平台。 【JSP技术】 JSP是Java EE的一部分,主要...

    研究生招生信息管理系统 (基于Java前台的Oracle数据库课程设计)

    系统利用了Oracle数据库作为后端存储,实现了对招生过程中的各种信息进行集中管理和处理。 首先,我们要了解Java前台技术。Java作为一门多平台、面向对象的编程语言,具有丰富的类库和强大的功能,特别适合开发跨...

    Oracle数据库WEB开发指南

    1. Java JSP/Servlet:通过JDBC(Java Database Connectivity)驱动,Java开发者可以连接并操作Oracle数据库。使用Statement或PreparedStatement执行SQL语句,以及ResultSet处理查询结果。 2. PHP:PHP也支持Oracle...

    JSp+oracle数据库应用系统开发与实例

    4. **存储过程和函数**:如何在Oracle中创建和调用存储过程及函数,以及在JSP中如何执行这些数据库操作。 5. **索引和优化**:探讨了数据库性能优化策略,如创建索引、查询优化和表分区。 6. **安全性和权限管理**...

    servlet+jsp+service+Oracle实现简单的数据库交互

    通过使用servlet、jsp、service层和Oracle数据库来构建一个简单的登录注册系统,不仅可以帮助初学者理解Web应用的基本工作原理,还可以加深对servlet和数据库交互的理解。此外,这种架构还提供了一种可扩展的方式来...

    Oracle数据库应用之Shopping System

    Oracle数据库与Web应用的整合涉及到JDBC(Java Database Connectivity)技术,它是Java标准API,允许Java程序连接到各种数据库,包括Oracle。开发者通常会使用PreparedStatement和CallableStatement来执行SQL查询,...

    java中读取ORACLE中BLOB字段存储的图片

    ### Java中读取Oracle数据库BLOB字段存储的图片方法详解 #### 一、背景与目的 在实际的应用开发过程中,经常会有将图片等二进制数据存入数据库的需求。Oracle数据库支持通过BLOB(Binary Large Object)类型来存储...

    java各种数据库连接

    Statement用于简单查询,PreparedStatement能防止SQL注入,CallableStatement用于调用存储过程。 6.批处理:对于大量相似的SQL操作,可以使用批处理API提高性能,避免频繁的网络往返。 7.事务管理:JDBC提供了一套...

    JSP+servlet+oracle实现主子表维护

    例如,当用户在JSP页面上提交信息时,Servlet会接收到这些请求,然后通过调用Oracle数据库的SQL语句来执行相应的数据库操作。 Oracle数据库是一个强大的关系型数据库管理系统,被广泛应用于企业级应用中。在这里,...

    java实现oracle数据库备份.pdf

    ### Java 实现 Oracle 数据库备份的关键知识点 #### 一、Oracle 数据库备份的重要性及方法概述 在企业级应用中,数据库作为数据存储的核心组件,其安全性至关重要。Oracle 数据库作为主流的关系型数据库管理系统之...

    JAVA课程设计 ,实现网上商品信息查询,客户端通过servlet实现对数据库信息的查询显示

    数据库部分,虽然具体使用哪种数据库没有明确指出,但通常情况下,如MySQL或Oracle这样的关系型数据库会被用来存储商品信息,包括商品ID、名称、价格、库存等。Servlet通过SQL查询语句与数据库交互,获取或更新商品...

    Oracle数据库实现BBS

    Oracle数据库在实现BBS(电子公告板系统)中扮演着核心角色,它是数据存储和管理的基石。BBS系统主要用于用户交互,如发布主题、回复、上传文件等,因此需要强大的数据库支持以确保数据的稳定性和高效性。下面将详细...

Global site tag (gtag.js) - Google Analytics