SQL server 2000与高分java连接的详细步骤

试试看,

用JSP访问Oracle、SQL Server、DB2、Informix和Access数据库。

2007-1-13

用JSP访问Oracle、SQL Server、DB2、Informix和Access数据库。

现在很多jsp初学者经常问怎么连接数据库,为什么总是出错?所以我在这里集中写了一篇文章,供大家参考。其实把所有的数据库逻辑都放在jsp里面不一定是一个好的做法,但是对初学者学习有好处,所以我就这么做了。当你学习到一定程度,可以考虑用MVC模式开发。练习这些代码的时候,一定要把jdbc驱动放到服务器的类路径中,然后在数据库中建立一个表test,有两个字段,比如test1和test2。您可以使用下面的SQL来构建Create Table Test(Test 1 varchar(20)和Test2Varchar (20)),然后向这个表中写入一个测试记录,这样现在我们就可以开始我们的测试了。

1.jsp连接到Oracle8/8i/9i数据库(在瘦模式下)。

Testoracle.jsp如下:

< % @ page content type = " text/html;charset=gb2312"% >

< %@ page import="java.sql.*"% >

< html >

<正文>

< % class . forname(" Oracle . JDBC . driver . Oracle driver ")。new instance();

string URL = " JDBC:Oracle:thin:@ localhost:1521:orcl ";

//orcl是数据库的SID。

String user = " scott

String password = " tiger

connection conn = driver manager . getconnection(URL,user,password);

语句stmt = conn . create statement(ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR _可更新);

String sql = " select * from test

ResultSet RS = stmt . execute query(SQL);

while(rs.next()) {% >

您的第一个字段是:

您的第二个字段是:

<%}%>

< % RS . close();

stmt . close();

conn . close();

%>

其次,jsp连接到Sql Server7.0/2000数据库

Testsqlserver.jsp如下:

< % @ page content type = " text/html;charset=gb2312"% >

< %@ page import="java.sql.*"% >

< html >

<正文>

< % class . forname(" com . Microsoft . JDBC . SQL server . SQL server driver ")。new instance();

string URL = " JDBC:Microsoft:SQL server://localhost:1433;DatabaseName = pubs ";

//您的数据库的pubs

String user = " sa

字符串密码= " ";

connection conn = driver manager . getconnection(URL,user,password);

语句stmt = conn . create statement(ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR _可更新);

String sql = " select * from test

ResultSet RS = stmt . execute query(SQL);

while(rs.next()) {% >

您的第一个字段是:

您的第二个字段是:

<%}%>

< % RS . close();

stmt . close();

conn . close();

%>

第三,jsp连接DB2数据库。

Testdb2.jsp如下:

< % @ page content type = " text/html;charset=gb2312"% >

< %@ page import="java.sql.*"% >

< html >

<正文>

< % class . forname(" com . IBM . DB2 . JDBC . app . db 2 driver ")。new instance();

string URL = " JDBC:DB2://localhost:5000/sample ";

//sample是数据库的名称。

字符串user = " admin

字符串密码= " ";

connection conn = driver manager . getconnection(URL,user,password);

语句stmt = conn . create statement(ResultSet。类型_滚动_敏感,

结果集。CONCUR _可更新);

String sql = " select * from test

ResultSet RS = stmt . execute query(SQL);

while(rs.next()) {% >

您的第一个字段是:

您的第二个字段是:

<%}%>

< % RS . close();

stmt . close();

conn . close();

%>

第四,jsp连接Informix数据库

Testinformix.jsp如下:

< % @ page content type = " text/html;charset=gb2312"% >

< %@ page import="java.sql.*"% >

< html >

<正文>

< % class . forname(" com . Informix . JDBC . ifx driver ")。new instance();

字符串url =

" JDBC:Informix-sqli://123 . 45 . 67 . 89:1533/testDB:Informix server = my server;

user = testuser密码=测试密码";

//testDB是数据库的名称。

connection conn = driver manager . get connection(URL);

语句stmt = conn . create statement(ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR _可更新);

String sql = " select * from test

ResultSet RS = stmt . execute query(SQL);

while(rs.next()) {% >

您的第一个字段是:

您的第二个字段是:

<%}%>

< % RS . close();

stmt . close();

conn . close();

%>

五、jsp连接访问数据库

< %@page import="java.sql.* "

import ="java.util.* "

import ="java.io.* "

import="java.text.* "

content type = " text/html;charset=gb2312 "

buffer="20kb "

%><%!int all,I,m _ count

字符串odbcQuery

连接odbcconn

语句odbcstmt

结果集odbcrs

字符串用户名,标题,内容,工作,电子邮件,网址,时间,日期;

字符串日期时间;

%>

<%

尝试{

class . forname(" sun . JDBC . odbc . JDBC odbc driver ");

}catch (ClassNotFoundException e)

{out.print("驱动程序不存在");

}

尝试{

odbc conn = driver manager . getconnection(" JDBC:odbc:db 1 ");

odbcstmt = odbcconn . create statement();

odbc query = " Select * From book where datetime > 2006 54 38+0-4-26 Order By datetime desc ";

odbcrs = odbc stmt . execute query(odbc query);

int I = 0;

while(I < 130)odbcrs . next();

while (odbcrs.next())

{

//*///////////////////////////////////////////////////////////////////////

int ii

尝试{

尝试{

for(ii = 1;;ii++)

out . print(" < br > column "+ii+" is:"+odbcrs . getstring(ii));

}catch (NullPointerException e) {

Out.print("自由指针");

}

}catch (SQLException e){

}

}

odbcrs . close();

odbc stmt . close();

odbcconn . close();

}catch (SQLException e)

{ out . print(e);

}

%>

查看(24)条评论(0)

休眠快速启动

2006-11-10

其实Hibernate本身就是一个独立的框架,它不需要任何web服务器或者应用服务器的支持。但是,大多数Hibernate的入门介绍都包含了很多非Hibernate的东西,比如Tomcat、Eclipse、Log4j、Struts、XDoclet甚至JBoss。这容易导致对Hibernate的复杂误解,尤其是挫伤初学者的积极性。

Eclipse、log4j、struts、Tomcat、xdoclet和JBoss将不在本文讨论范围之内。本文的目的是演示Hibernate的安装过程和最基本的功能,从而给初学者一个非常低的入门门槛。

下载文件

你需要Java SDK,Hibernate包,Ant包,和JDBC驱动。

1,Hibernate包下载地址:

/软件/h...tdocs/jdbc9201.html

MySQL JDBC驱动程序下载地址

/downloads/connector/j/3.0 . html

PostgreSQL JDBC驱动程序下载地址

/downloa...bf71。displaylang=en

4.将Hibernate包和Ant包解压到c:dev(这个目录不重要,可以换成其他任何目录)。

配置环境

1,需要添加一个新的环境变量:ANT_HOME,让它指向c:dev;并将% ANT _ HOME %添加到PATH环境变量中。

2.您需要添加一个新的环境变量:JAVA_HOME,以指向您的j2sdk根目录。并将% JAVA _ HOME %添加到PATH环境变量中。

3.创建项目?目录,比如c: workspace my 1shibernate。

在项目目录下,创建另外三个目录:src、classes和lib。

在lib目录下,创建两个目录:hibernate和db。

因此,您有以下文件结构:

c:工作区my 1s纤维

c:工作空间My1stHibernatesrc

c:工作区My1stHibernateclasses

c:工作空间My1stHibernatelib

c:工作区my 1 sthibernate

c:工作空间My1stHibernatelibdb

4、C: dev将hibernate2.jar文件复制到C: Workspace My 1 hibernate。

under lib下的所有文件也复制到C: Workspace My 1 hibernate。

将您的JDBC驱动文件(通常是一个jar文件)复制到C:Workspace My 1 hibernate libdb。

创建数据库

1.用自己喜欢的数据库软件创建hibernate_test的数据库。

2.在此数据库下,创建一个名为CUSTOMER的新表。

创建表客户

CID整数非空主键,用户名VARCHAR(12)非空,密码VARCHAR(12)

);

编写Java文件

公共类客户{

private int id

私有字符串用户名;

私有字符串密码;

public int getId() {

返回id;

}

公共字符串getPassword() {

返回密码;

}

公共字符串getUsername() {

返回用户名;

}

public void setId(int id) {

this.id = id

}

public void setPassword(字符串密码){

this.password =密码;

}

public void setUsername(字符串用户名){

this.username =用户名;

}

}

将该类保存为c:workspace my 1 shibernatesrccustomer . Java文件。

编写测试类

导入net . SF . hibernate . *;

导入net . SF . hibernate . CFG . *;

公共类测试{

公共静态void main(String[] args) {

尝试{

SessionFactory sf =新配置()。配置()。buildSessionFactory();

session session = SF . opensession();

transaction tx = session . begin transaction();

for(int I = 0;我& lt200;i++) {

客户customer =新客户();

custoā?mer . set username(" customer "+I);

customer.setPassword("客户");

session.save(客户);

}

tx . commit();

session . close();

} catch (HibernateException e) {

e . printstacktrace();

}

}

}

将该类保存为c:workspace my 1 shibernatesrctest . Java文件。

创建Hibernate映射文件

因为只有一个类- CUSTOMER和一个表- CUSTOMER,所以只需要创建一个映射文件- Customer.hbm.xml来对应Customer类和Customer表之间的关系。

& ltxml version="1.0 "?& gt

& ltDOCTYPE hibernate-映射公共

"-//休眠/休眠映射DTD//EN "

“堆积源文件”& gt

& ltavac class pathref = " my class path " src dir = " $ { src . dir } " dest dir = " $ { build . dir } "/& gt;

& ltopy todir = " $ { build.dir } " & gt

& ltileset dir = " $ { src.dir } " & gt

ā?& ltxclude name="**/*。Java "/>;

& lt文件集& gt

& lt复制& gt

& lttarget & gt

& ltarget name = " run " depends = " build " & gt;

& ltava class pathref = " my class path " class name = " Test " fork = " true "/& gt;

& lttarget & gt

& ltarget name="clean " >

& ltelete includeEmptyDirs = " true " & gt;

& ltileset dir = " $ { build . dir } "/& gt;

& lt删除& gt

& lttarget & gt

& lt项目& gt

配置休眠配置文件

Hibernate描述文件可以是属性或xml文件,最重要的是定义数据库的连接。我在这里列出的是一个xml格式的hibernate.cfg.xml的描述文件。

& ltxml版本="1.0 "编码="utf-8 "?& gt

& ltDOCTYPE休眠-配置

PUBLIC "-//休眠/休眠配置DTD//EN "

”和易贝)。但是,有了Web的强大,还有等待,等待服务器响应,等待屏幕刷新,等待请求返回和生成新页面。

显然,这是一种过于简单化的说法,但这是基本概念。正如您可能已经猜到的,Ajax试图在桌面应用程序和不断更新的Web应用程序的功能性和交互性之间建立一座桥梁。您可以使用桌面应用程序中常见的动态用户界面和漂亮的控件,但在Web应用程序中。

你还在等什么?让我们来看看Ajax是如何将笨拙的Web界面变成响应迅速的Ajax应用程序的。

旧技术,新技能

说到Ajax,其实涉及到很多技术。要灵活地使用它,我们必须对这些不同的技术有深刻的理解(本系列的前几篇文章将分别讨论这些技术)。好消息是,您可能非常熟悉这些技术中的大部分。更好的是,这些技术很容易学习,不像完整的编程语言(如Java或Ruby)那么难。

Ajax的定义

对了,Ajax是异步JavaScript和XML(还有DHTML等)的缩写。).这个短语是Adaptive Path的Jesse James Garrett发明的(参见参考资料)。根据杰西的解释,它不是首字母缩写词。

以下是Ajax应用程序使用的基本技术:

HTML用于构建Web表单,并确定应用程序其他部分使用的字段。

JavaScript代码是运行Ajax应用程序的核心代码,有助于改善与服务器应用程序的通信。

DHTML或动态HTML,用于动态更新表单。我们将使用div、span等动态HTML元素来标记HTML。

文档对象模型DOM用于处理HTML结构和(在某些情况下)服务器返回的XML(通过JavaScript代码)。

下面我们进一步分析一下这些技术的责任。我将在以后的文章中深入讨论这些技术。目前我只需要熟悉这些组件和技术。对这些代码越熟悉,就越容易从对这些技术的零碎了解转变为对这些技术的真正掌握(这也真正打开了Web应用开发的大门)。

XMLHttpRequest对象

您想了解的一个对象可能对您来说是最陌生的,即XMLHttpRequest。这是一个JavaScript对象,创建它非常简单,如清单1所示。

清单1。创建新的XMLHttpRequest对象

& lt脚本语言= " JavaScript " type = " text/JavaScript " & gt;

var xmlHttp = new XMLHttpRequest();

& lt/script & gt;

我们将在下一篇文章中进一步讨论这个对象,现在我们应该知道它是处理所有服务器通信的对象。在继续阅读之前,停下来想一想:JavaScript技术是用来通过XMLHttpRequest对象与服务器对话的。这不是普通的应用流程,这恰恰是Ajax强大功能的来源。

在一个典型的Web应用程序中,用户填写表单字段并单击Submit按钮。然后将整个表单发送给服务器,服务器将表单转发给处理表单的脚本(通常是PHP或Java,但也包括CGI进程或类似的东西),然后在脚本执行后将其发送回全新的页面。这个页面可能是HTML,带有一个已经填充了一些数据的新表单、一个确认页面或一个根据原始表单中输入的数据选择了一些选项的页面。当然,用户必须等待服务器上的脚本或程序处理并返回新的表单。屏幕变成空白,在服务器返回数据后会重新绘制。这就是交互性差的原因。用户得不到即时反馈,所以感觉和桌面应用不一样。

Ajax基本上是将JavaScript技术和XMLHttpRequest对象放在Web表单和服务器之间。当用户填写表单时,数据被发送到一些JavaScript代码,而不是直接发送到服务器。相反,JavaScript代码捕获表单数据并向服务器发送请求。同时,用户屏幕上的表单不会闪烁、消失或延迟。换句话说,JavaScript代码在幕后发送请求,用户甚至不知道请求已经发出。更好的是,请求是异步发送的,这意味着JavaScript代码(和用户)不必等待服务器的响应。因此用户可以继续输入数据、滚动屏幕和使用应用程序。

然后,服务器将数据返回给JavaScript代码(仍然是Web形式),由JavaScript代码决定如何处理数据。它可以快速更新表单数据,让人感觉应用程序马上就完成了,表单没有提交或刷新,用户得到了新的数据。JavaScript代码甚至可以对接收到的数据执行一些计算,然后发送另一个请求,完全不需要用户干预!这就是XMLHttpRequest的强大之处。它可以根据需要自行与服务器进行交互,用户甚至可以完全不知道幕后发生了什么。其结果是类似于桌面应用程序的动态、快速响应和高度交互的体验,但它背后有互联网的所有强大力量。

添加一些JavaScript

拿到XMLHttpRequest的句柄后,其他JavaScript代码就很简单了。事实上,我们将使用JavaScript代码来完成非常基本的任务:

获取表单数据:JavaScript代码可以很容易地从HTML表单中提取数据并发送给服务器。

修改表单上的数据:更新表单也很简单,从设置字段值到快速替换图像。

解析HTML和XML:使用JavaScript代码操纵DOM(参见下一节)并处理HTML表单服务器返回的XML数据的结构。

对于前两点,您需要非常熟悉getElementById()方法,如清单2所示。

清单2。用JavaScript代码捕获和设置字段值

//获取“电话”字段的值,并将其填充到名为phone的变量中

var phone = document . getelementbyid(" phone ")。价值;

//使用名为response的数组在窗体上设置一些值

document.getElementById("order ")。值=响应[0];

document . getelementbyid(" address ")。值=响应[1];

这里没有什么特别需要注意的。太棒了!你应该意识到这里没有什么非常复杂的东西。只要掌握了XMLHttpRequest,Ajax应用程序的其余部分就是简单的JavaScript代码,如清单2所示,混合了少量HTML。同时,我们需要使用一点DOM,所以我们来看看。

以DOM结尾

最后是DOM,文档对象模型。DOM可能对一些读者来说有点吓人,HTML设计者很少用它,即使是JavaScript程序员也不怎么用,除非他们想完成一个高端的编程任务。DOM被复杂的Java和C/C++程序广泛使用,这可能是DOM被认为难学的原因。

幸运的是,在JavaScript技术中使用DOM既简单又直观。现在,作为一个规则,可能有必要解释如何使用DOM,或者至少给出一些示例代码,但这也可能误导您。即使忽略DOM,也仍然可以深入探索Ajax,这也是我准备采用的方法。DOM将在以后的文章中再次讨论。现在只需要知道可能需要DOM。当需要在JavaScript代码和服务器之间传输XML和改变HTML形式时,我们会进一步研究DOM。没有它也可以做一些有趣的工作,所以现在先把DOM放在一边。

回到顶端

获取请求对象

有了以上的基础知识,我们再来看一些具体的例子。XMLHttpRequest是Ajax应用的核心,可能很多读者会比较陌生。让我们从这里开始。从清单1可以看出,创建和使用这个对象非常简单,不是吗?等一下。

还记得几年前那些讨厌的浏览器大战吗?在不同的浏览器上没有得到相同的结果。信不信由你,这些战争仍在继续,尽管规模较小。但奇怪的是,XMLHttpRequest成了这场战争的受害者之一。因此,获取XMLHttpRequest对象可能需要不同的方法。下面我会详细解释。

使用Micr