`
fanjava
  • 浏览: 235782 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

JavaBean操作Oracle数据库

阅读更多
本文以一个完整的JavaBean数据库访问程序简要说明jsp操作数据库。
本程序由3个bean组成,其中WebConstants中定义全局变量,ConnectionManager管理数据库连接,MainBean利用WebConstants和ConnectionManager操作数据库。
首先定义全局变量,如下:
package WebRelease;
public interface WebConstants
{
public static final String driverClass ="driverClass";
const userId is the user id to connect to database
public static final String userId ="comm";
const passWd is the user password to connect to database

public static final String passWd ="comm123";
const url is the url to connect to database
public static final String url="jdbc:oracle:thin:@10.2.0.1:1521:ORCL";
public static final String selectType ="select";
public static final String connection ="connection";
public static final String connError ="conError";
}
接着创建一个数据库连接管理bean,如下:
package WebRelease;
import java.io.*;
import java.beans.*;
import java.util.*;
import java.sql.*;
import WebRelease.WebConstants;
import oracle.jdbc.driver.*;
public class ConnectionManager implements WebConstants
{
private boolean debug = true;
protected Connection con;
protected DebugWriter writer;
PropertyChangeSupport pcs;
////////////////////////////////////////////////////////////////////////////////
public ConnectionManager()
{
pcs = new PropertyChangeSupport(this);
writer = new DebugWriter();
}
////////////////////////////////////////////////////////////////////////////////
public void setDebug(String b)
{
debug = b.equals("true");
}
////////////////////////////////////////////////////////////////////////////////
public void addPropertyChangeListener( PropertyChangeListener l)
{
pcs.addPropertyChangeListener(l);
}
////////////////////////////////////////////////////////////////////////////////
public void removePropertyChangeListener(PropertyChangeListener l)
{
pcs.removePropertyChangeListener(l);
}
////////////////////////////////////////////////////////////////////////////////
public void login()
{
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(Exception e)
{
if(debug) { writer.writeDebug("Error setting driver:"+e.getMessage());}
}
try
{
con = DriverManager.getConnection(url,userId,passWd);
pcs.firePropertyChange(connection,null,con);
if(debug)
{
writer.writeDebug("connection succeded ! URL:"+url+"User:"+userId+
"Pwd:"+passWd);
}
}
catch(Exception e)
{
pcs.firePropertyChange(connError,null,e);
if(debug)
{
writer.writeDebug("connection failed ! URL:"+url+"User:"+userId+
"Pwd:"+passWd);
}
}
}
}
在MainBean中,侦听数据库是否连接,如果连接则对数据库进行操作:
package WebRelease;
import java.io.*;
import java.beans.*;
import java.util.*;
import java.sql.*;
import WebRelease.*;
public class MainBean implements PropertyChangeListener ,WebConstants
{
private boolean debug = true;
protected Connection con;
protected DebugWriter writer;
////////////////////////////////////////////////////////////////////////////////
public MainBean()
{
writer = new DebugWriter();
}
////////////////////////////////////////////////////////////////////////////////
public void propertyChange(PropertyChangeEvent evt)
{
String prop = evt.getPropertyName();
//see if we got a connection
if(prop.equals(connection))
{//ok so update the local connection
try
{
//make sure it really is a connection
con = (Connection)evt.getNewValue();
}
catch(Exception e)
{
writer.writeDebug("Error connecting to database"+e.getMessage());
}
}
}
////////////////////////////////////////////////////////////////////////////////
public void setConnectionManager(ConnectionManager cm)
{
if(cm != null)
{
// to remove the old listener from cm
// to avoid confusion in the mainbean
cm.removePropertyChangeListener(this);
cm.addPropertyChangeListener(this);
if(debug)
{
writer.writeDebug("MainBean;Set connection manager"+ cm.toString());
}
}
else
{
if(debug)
{
writer.writeDebug("MainBean;Tried to set a null connection manager");
}
}
}
////////////////////////////////////////////////////////////////////////////////
public boolean isConnected()
{
//see if datatabe is connected
return (con != null);
}
////////////////////////////////////////////////////////////////////////////////
public void processQuery()
{
try
{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from hello order by id");
writer.writeDebug("select * from hello order by id");
while(rs.next())
{
writer.writeDebug("next");
String str=rs.getString("name");
writer.writeDebug(str+"  &nbsp   ");
}
rs.close();
}
catch(Exception e)
{
}
}
}

OK,现在我们来测试一下这个程序,创建一个测试页面:
<%@ page contentType="text/html; charset=gb2312" %>
<html>
<head>
<title>
hello
</title>
</head>
<body bgcolor="#ffffc0">
<h1>
<jsp:useBean id="main" class="WebRelease.MainBean" scope ="session"/>
<jsp:useBean id="con" class="WebRelease.ConnectionManager" scope ="session"/>
<%
main.setConnectionManager(con);
con.login();
%>
<%
if(main.isConnected())
out.print("mainbean connect success!!!");
main.processQuery();
%>
</h1>
</body>
</html>
在tomcat中浏览这个页面,我们应该可以看到输出“Mainbean connect sucess!!!”
注释不是太多,希望你能看明白。
分享到:
评论

相关推荐

    基于Oracle JavaBean组件的数据库快速开发.pdf

    【描述】:本文主要探讨了如何利用Oracle提供的JavaBean组件进行数据库的快速开发,通过分析Oracle的JDBC和数据源(DataSource)方法,阐述了JavaBean在数据库操作中的应用。 【标签】:“Oracle 数据库”,“关系...

    jsp中连接oracle数据库的javabean

    本篇将深入讲解如何创建一个JavaBean来连接Oracle数据库,并在JSP中使用它。 首先,让我们了解JavaBean的基本概念。JavaBean是一种符合特定规范的Java类,它可以被其他Java组件或应用程序(如JSP页面)用来存储和...

    在JavaBean中连接数据库.doc

    JDBC 提供了一种统一的接口,用于连接各种类型的数据库,例如 MySQL、Oracle、SQL Server 等。 在 JavaBean 中连接数据库的步骤 在 JavaBean 中连接数据库需要遵循以下步骤: 1. 创建 JavaBean:首先,需要创建一...

    在JSP中调用JavaBean实现Web数据库访问.pdf

    JavaBean应包含数据库连接的配置信息和执行数据库操作的方法。 - **部署JavaBean**: 将编译后的JavaBean放置于Tomcat的WEB-INF/classes目录下,确保CLASSPATH中包含了JavaBean的位置。 - **调用JavaBean**: 在JSP...

    jsp连接oracle数据库javabean

    连接oracle数据库的JavaEean

    servlet+javabean+Oracle登录案例

    在本项目中,"servlet+javabean+Oracle登录案例"是一个基于Web的简单用户登录系统,利用了Servlet、JavaBean以及Oracle数据库的技术。这个系统的主要目的是展示如何通过Servlet来处理HTTP请求,使用JavaBean作为业务...

    JSP+javabean+Oracle 在线考试系统

    本系统采用JSP(JavaServer Pages)作为前端展示,javabean作为业务逻辑处理,Oracle数据库作为数据存储,构建了一个功能完善的在线考试系统。下面将详细介绍这个系统的各个方面。 一、JSP技术 JSP是Java的一种动态...

    用jsp+JavaBean+Oracle实现表的增删查改

    总结来说,"用jsp+JavaBean+Oracle实现表的增删查改"是一个典型的企业级Web开发场景,它涉及到前端界面设计、后端业务逻辑处理以及数据库操作。熟练掌握这些技能,能帮助开发者构建高效、稳定的Web应用系统。

    JSP、JavaBean、Oracle存储过程三者结合的研究.pdf

    对于开发者而言,熟悉Oracle数据库操作和JDBC驱动的配置至关重要。通过输入SQL命令验证Oracle的安装和连接,例如查询emp表中的记录。 然后,文章深入讨论了如何在JSP中调用JavaBean,再由JavaBean调用Oracle存储...

    jsp+javabean 学生管理系统 sql数据库

    系统中的数据存储通常依赖于SQL(结构化查询语言)数据库,如MySQL、Oracle或SQL Server。SQL用于创建、查询、更新和删除数据库中的数据。在这个案例中,开发者可能会设计一个名为“Student”的表,包含学号、姓名、...

    JSP论坛项目(Oracle数据库,有项目需求分析文档)

    【JSP论坛项目】是一个基于Web的互动交流平台,它采用了经典的JSP(JavaServer Pages)、Servlet、JavaBean以及Oracle数据库技术。这个项目是为学习和掌握这些技术的学生或者开发者设计的,旨在提供一个实际操作的...

    JavaBean连接Oracle

    利用JavaBean连接Oracle数据库,实现对数据库的操作。

    jsp servlet javabean连接oracle系统

    【标题】"jsp servlet javabean连接oracle系统"涉及了Web开发中的关键技术,包括JavaServer Pages(JSP)、Servlet以及JavaBean,同时结合了Oracle数据库的使用。这是一个典型的三层架构模型,常用于构建动态、数据...

    JSP销售网站前后台+Oracle数据库

    使用Oracle数据库,开发者可以利用SQL语句进行数据操作,通过JDBC(Java Database Connectivity)接口与Java代码进行通信。 购物车功能是该项目的核心部分,用户可以将心仪的商品加入购物车,系统会持久化这些信息...

    网上购物系统(JSP+JavaBean+Oracle10)

    管理员管理用户订单时,会执行相应的数据库操作。 4. 前台购物模块: 该模块为用户提供浏览商品、搜索商品、添加到购物车、结算等服务。用户可以通过搜索框输入关键词查找商品,查看商品详情后将其添加到购物车。在...

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

    3. **创建JavaBean**:编写一个名为`MessageBean`的Java类,它包含了对数据库操作的方法,如添加新留言、查询所有留言或根据特定条件查询留言。 4. **JSP页面**:创建多个JSP页面,例如`index.jsp`用于展示留言列表...

    JavaBean结合数据库综合举例.rar

    JavaBean与Oracle数据库的连接通常涉及加载Oracle JDBC驱动,创建数据库连接,执行SQL语句,处理结果集,然后关闭连接。 5. **数据库操作**: - 在JavaBean中,你可以定义方法来执行CRUD(创建、读取、更新和删除...

    jsp+javaBean实现的对Oracle数据库的emp表的增,删,改,查。

    本项目以"jsp+javaBean实现的对Oracle数据库的emp表的增,删,改,查"为主题,结合了前端页面和后端逻辑处理,实现了完整的CRUD(创建、读取、更新、删除)操作。下面将详细介绍这个项目涉及的主要知识点: 1. **...

    mysql,sqlserver,Oracle 数据库生成javabean小工具

    本工具“mysql, sqlserver, Oracle 数据库生成javabean小工具”正是为了解决开发者手动编写javabean时的繁琐工作,它能够自动根据数据库中的表结构生成对应的javabean文件。 1. **数据库连接**: 工具支持三种主流...

    基于Java web的网上书店系统(源码+ORACLE数据库).zip

    2. 书籍管理:包括书籍的添加、删除、修改,以及分类和搜索功能,可能使用了JDBC或ORM框架如Hibernate进行数据库操作。 3. 购物车:实现商品的添加、删除,以及数量调整,涉及会话管理(Session)和状态跟踪。 4. ...

Global site tag (gtag.js) - Google Analytics