由于时间不多,到现在为止,我只重写了一部的类对象的方法,我会继续写完的。请更多的朋友也参与进来,谢谢!以下是我的JAVABean的源代码。 accessData.java /** Author:Zhihong SUN Copyright (c) 2001 ShenZhen China Title:accessDatabase.java Purpose:This is a JAVABean module,using it access Database by JDBC-ODBC bridge,You must create install the database ODBC driver to system and add the database Data Source in system DNS of odbc data source! Inputs: driverName:Type is String,Access database driver name,default is "sun.jdbc.odbc.JdbcOdbcDriver"; dbURL:Type is String,Access database URL,Format is "jdbc.odbc.youDNS"; dbUser:Type is String,Login and access database DBS use; dbPassword:Type is String,Database user password; sqlQuery:Type is String,The SQL sentence,procedure; Outputs: conn:Type is Connection,the database link object; stmt:Type is Statement,the execute SQL object; rs:Type is ResultSet,the query result object; Note: The using JSP page format: <jsp:useBean id="JSPdb" class="data.accessDatabase" scope="session"/> boolean flag = JSPdb.init("sun.jdbc.odbc.Jdbc0dbcDriver","jdbc.odbc.myDNS","sa","********"); if(flag) { ResultSet rs = JSPdb.executeQuery("SELECT * FROM tableName"); } . . . Date:08/09/2001**/package data; import java.text.*; import java.util.*; import java.sql.*; import java.io.*;public class accessDatabase { String driverName = "";//JDBC驱动器 String dbURL = "";//被访问数据库的URL String dbUser = "";//数据库的访问用户 String dbPassword = "";//数据库用户的密码 public Driver driv = null;//driver 对象,由Class.forName(driverName).newInstance()创建; public Properties p=new Properties();//Properties对象,用于存储连接数所需的变量,如:用户名,密码;赋值为p.put("user","user value"); public Connection conn = null;//Connection 对象,由DriverManager.getConnection(dbURL,dbUser,dbPassword)或driver.connect(dbURL,Proper)创建; public Statement stmt = null;//Statement 对象,由connection.createStatement()创建; public ResultSet rs = null;//ResultSet 对象,用于存储结果集; public int column = 0;//操作所影响的栏 public boolean init(String driverName,String dbURL,String dbUser,String dbPassword) { this.driverName = driverName; this.dbURL = dbURL; this.dbUser = dbUser; this.dbPassword = dbPassword; try { Class.forName(driverName); return true; } catch (java.lang.ClassNotFoundException e) { System.out.println("ClassNotFoundException Error:"+e.getMessage()); return false; } }
accessData.java
/**
Author:Zhihong SUN
Copyright (c) 2001 ShenZhen China
Title:accessDatabase.java
Purpose:This is a JAVABean module,using it access Database by JDBC-ODBC bridge,You must create install
the database ODBC driver to system and add the database Data Source in system DNS of odbc data source!
Inputs:
driverName:Type is String,Access database driver name,default is "sun.jdbc.odbc.JdbcOdbcDriver";
dbURL:Type is String,Access database URL,Format is "jdbc.odbc.youDNS";
dbUser:Type is String,Login and access database DBS use;
dbPassword:Type is String,Database user password;
sqlQuery:Type is String,The SQL sentence,procedure;
Outputs:
conn:Type is Connection,the database link object;
stmt:Type is Statement,the execute SQL object;
rs:Type is ResultSet,the query result object;
Note:
The using JSP page format:
<jsp:useBean id="JSPdb" class="data.accessDatabase" scope="session"/>
boolean flag = JSPdb.init("sun.jdbc.odbc.Jdbc0dbcDriver","jdbc.odbc.myDNS","sa","********");
if(flag)
{
ResultSet rs = JSPdb.executeQuery("SELECT * FROM tableName");
}
.
.
. Date:08/09/2001**/package data;
import java.text.*;
import java.util.*;
import java.sql.*;
import java.io.*;public class accessDatabase
{
String driverName = "";//JDBC驱动器
String dbURL = "";//被访问数据库的URL
String dbUser = "";//数据库的访问用户
String dbPassword = "";//数据库用户的密码
public Driver driv = null;//driver 对象,由Class.forName(driverName).newInstance()创建;
public Properties p=new Properties();//Properties对象,用于存储连接数所需的变量,如:用户名,密码;赋值为p.put("user","user value");
public Connection conn = null;//Connection 对象,由DriverManager.getConnection(dbURL,dbUser,dbPassword)或driver.connect(dbURL,Proper)创建;
public Statement stmt = null;//Statement 对象,由connection.createStatement()创建;
public ResultSet rs = null;//ResultSet 对象,用于存储结果集;
public int column = 0;//操作所影响的栏 public boolean init(String driverName,String dbURL,String dbUser,String dbPassword)
{
this.driverName = driverName;
this.dbURL = dbURL;
this.dbUser = dbUser;
this.dbPassword = dbPassword; try
{
Class.forName(driverName);
return true;
}
catch (java.lang.ClassNotFoundException e)
{
System.out.println("ClassNotFoundException Error:"+e.getMessage());
return false;
}
}
public ResultSet executeQuery(String sqlQuery)
{
try
{
conn = DriverManager.getConnection(dbURL,dbUser,dbPassword);
stmt = conn.createStatement();
rs = stmt.executeQuery(sqlQuery);
}
catch (SQLException e)
{
System.out.println("SQLException Error:" + e.getMessage());
}
return rs;
} public int executeUpdate(String sqlQuery)
{
try
{
conn = DriverManager.getConnection(dbURL,dbUser,dbPassword);
stmt = conn.createStatement();
int column = stmt.executeUpdate(sqlQuery);
}
catch (SQLException e)
{
System.out.println("SQLException Error:" + e.getMessage());
}
return column;
} public boolean closeLink()
{
try
{
if (rs!=null)
rs.close();
if (stmt!=null)
stmt.close();
if (conn!=null)
conn.close();
return true;
}
catch(SQLException e)
{
System.out.println("SQLException Error:" + e.getMessage());
return false;
}
}
};
index.jsp
<%
/**
Author:Zhihong SUN
Copyright (c) 2001 ShenZhen China
**/
%><%@ page language="java" %>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*"%><%!
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859-1");
String temp=new String(temp_t);
return temp;
}
catch(Exception e)
{
}
return "null";
}
%>
<%-- 设置操作数据库的通用 JavaBean --%>
<jsp:useBean id="dbBean" class="data.accessDatabase" scope="session"/>
<%
ResultSet rs = null;
String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";
String dbURL = "jdbc:odbc:MSshop";//MSshop是我的ODBC中的系统DNS名称,改为你的即可。
String dbUser = "sa";
String dbPassword = "sunboy";
Connection con = null;
//初始化
dbBean.init(driverName,dbURL,dbUser,dbPassword);
//关于查询的例子
String selectQuery = "SELECT * FROM bigclass";
rs = dbBean.executeQuery(selectQuery);
while(rs.next())
{
String bigclassid = rs.getString(1);
String c_classname = rs.getString(2);
String picture = rs.getString(3);
String e_classname = rs.getString(4);
out.println(bigclassid+"----"+c_classname+"-----"+picture+"-----"+e_classname+"<br>");
}
//关于插入的例子
String insertQuery = "INSERT INTO bigclass VALUES(14,'球类','image/football.gif','ball')";
dbBean.executeUpdate(insertQuery);
//关闭连接
dbBean.closeLink();%>
我的调试环境是win2000+tomcat3.2.1+jdk1.3+SQL Server7.0,只要将accessDatabase.java编译之后放到你的JSP工作目录下的\WEB-INF\classes\data目录下,就可以调用了。
此程序是鄙人拙作,只供学习交流,请各位多多指教!