回麻雀苑主页 到麻雀苑-搜狐博客
4-1数据库SQL语言和JDBC的认识.txt
作者:老麻雀
2006-11-5 9:56:27
数据库、SQL语言和JDBC的认识
在JSP动态网页中,使用数据库技术,存储处理数据是非常重要的一个环节。HTML网页不能直接访问数据库。JSP动态网页是通过JDBC(Java DataBase Connectiviey)技术,调用SQL(Structure Query Language)语句,实现操作和管理数据库的。访问数据库是JSP动态网页的重要技术,它是是否掌握了JSP动态网页基本技术的标志。动态网页访问数据库,才能将大量的数据保存下来,才能编制工作中各种我们实际需要的功能。学习访问数据库的技术,需要进一步配置开发运行环境,还需要了解数据库操作的基本知识,能够使用基本的SQL语句。因此本章先要介绍一下数据库、JDBC、SQL的基本知识。
一、 数据库和SQL语言
数据库从字义上理解,就是存储各种数据的仓库。从数据存储的结构看,数据库就像一张二维表。表中的第一行相当于表头,下面每一行是具体的数据。请参照表4-1复习认识数据库的几个术语。
班级 学号 姓名 性别 密码 Email
04001 33 张三 男 123 zhang@ccc.com
04001 14 李四 男 234 laohu@ssss.net
04001 18 刘九 男 999 liujiu@qqq.net
04002 08 刘海 男 Liuhal liuhai@eee.com
04002 19 赵六 女 456 zhao@ddd,com
04002 27 刘八 女 678 liuba@ssss.net
04003 01 冯七 男 567 fengi@www.net
04003 25 王五 女 555 wang@bom.com
04003 21 李花瓶 女 Lhp lihuaping@bom.com
表4-1
数据库文件:对应于整张表格;
字段:对应于表中的第一行的每个项目;每个项目是一个字段
记录:对应于表中首行外的其余行,每行是一条记录;
数据库中的字段,具有字段名、类型、长度等属性,属性使它能规范存储同类型的数据。
数据库的最基本操作有数据库的创建、表的创建、数据的写入、数据的查询、数据的修改更新、数据的删除等,这些基本操作在不同种类的数据库中,都有自己一套命令和方法-*。JSP动态网页可以访问多种类型的数据库。
数据库在发展完善的过程中,产生了不同种类的多种数据库技术。目前在动态网页技术中,使用比较普遍的数据库有Access、SQL Server、MySQL、Oracle等关系型数据库。其中Access多用于中小型系统、SQL Server、MySQL多用于大中型系统、Oracle用于大型系统。还有不少数据库也能应用于JSP动态网页。这些数据库虽然都有自己的操作命令、编程语言,但同时又都支持SQL结构化查询语言。SQL是操作关系型数据库的标准语言。这也是各种动态网页能够访问不同类型数据库的重要原因。
为此学习JSP动态网页访问数据库的技术。应该对选用数据库的基本操作比较熟悉。对于SQL结构化查询语言的基本语句比较熟悉。只有掌握了这些基本知识,才能学习JSP动态网页访问数据库的技术。
在本章中,主要介绍JSP动态网页访问SQL Server 2000和Access数据库的技术。相应的操作在下面章节中将进行具体介绍。对于数据库知识比较薄弱的读者,只要按照本章介绍的操作步骤认真进行操作,同样能够掌握JSP动态网页访问SQL Server2000和Access数据库的技术。
SQL语言是操作关系型数据库的标准语言,在JSP动态网页中要大量的使用。为了顾及不大熟悉SQL语言的读者,下面用一些例子对常用的基本语句做些介绍。
> create database ddd
创建一个名称为ddd的数据库。
> create table user1 (学号 char(4),姓名 char(10),性别 char(4),年龄 int,email char(20))
创建一个名称为user1的表,表中有学号、姓名、性别、年龄、email五个字段,分别为字符型,字符型,字符型,整型,字符型。
> insert into user1 (学号,姓名,性别,年龄,email) values ("02","李四","女","22","lisi@bitc.com")
插入一条记录,向数据库的user1表中写入数据,其中“02”写入“学号”字段,“李四”写入“姓名”字段,“女”写入“性别”字段,“22”写入“年龄”字段,“lisi@bitc.com”写入“email”字段,
> select * from user1
查询user表中的所有记录,其中user1是表名,“*”表示查询结果中包含所有字段。
> select姓名,性别from user1 where 年龄="22"
查询user1表中的年龄=22的所有记录,查询结果只包含姓名和性别两个字段。
> Select * from user1 where 姓名="张三" and 密码=’123’
查询user1表中的“姓名”为“"张三”并且“密码”是“123”的记录。
> Select * from user1 where 姓名="张三" and 密码=’123’
查询user1表中的“姓名”为“"张三”并且“密码”是“123”的记录。
> Select* from user1 where 班级="04003" and 性别=’女’
查询user1表中的04003班所有女生的记录。
> select count(*) from user1 where 年龄="22"
查询统计user1表中符合“年龄=22”条件的记录个数。
> select sum(年龄) as mn from user1 where 年龄="22"
对表user1中“年龄”为“22”的记录,将“年龄”进行求和运算,结果送到mn变量中。
> select avg(年龄) as mn from user1
对表user1中“年龄”进行求平均运算,将结果送到mn变量中。
> select max(年龄) from user1
查询表user1中“年龄”最大的。
> update user1 set 年龄="18",性别="女" where 姓名="张三"
将表user1中“姓名”为“张三”的记录,“年龄”改为18,“性别”改为“女”
> delete from user1 where 年龄="22"
将表user1“年龄=22”的记录都删除
以上语句中,select查询、insert插入记录、在JSP动态网页中使用频繁,update修改更新、delete删除记录,使用得也很多。为了掌握这些语句的使用,建议读者在SQL Server 2000的“查询分析器”中进行操作练习。将以上的语句逐条运行,感受悉语句的格式、关键字和参数,也体验SQL语句操作数据库的效果。
二、 JDBC是JSP动态网页与数据库的接口
JDBC是JSP动态网页执行SQL语句的Java API。它由一组用Java语言编写的类与接口组成。JDBC已成为一种数据库开发者使用的标准API,使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。由于Java语言具有健壮性、安全等优点,,因此JDBC是与各种不同数据库对话的一种良好机制。
* JDBC驱动程序共分四种类型:
1、JDBC-ODBC桥:这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码。优点:只要有对应的ODBC驱动(大部分数据库厂商都会提供),几乎可以访问所有的数据库。缺点:执行效率比较低,不适合大数据量存取的应用;由于需要客户端预装对应的ODBC驱动,必须是Windows用户才能够使用。
2、本地API驱动:这种类型的驱动通过客户端加载数据库厂商提供的本地代码库(C/C++等)来访问数据库,而在驱动程序中则包含了Java代码。优点:速度快于第一类驱动(但仍比不上第3、第4类驱动)。缺点:由于需要客户端预装对应的数据库厂商代码库,仍然必须是Windows用户能够使用。
3、网络协议驱动:这种类型的驱动给客户端提供了一个网络API,客户端上的JDBC驱动程序使用套接字(Socket)来调用服务器上的中间件程序,后者在将其请求转化为所需的具体API调用。优点:不需要在客户端加载数据库厂商提供的代码库,单个驱动程序可以对多个数据库进行访问,可扩展性较好。 缺点:在中间件层仍需对最终数据进行配置; 由于多出一个中间件层,速度不如第四类驱动程序。
4、本地协议驱动:(我们常称为纯JDBC)这种类型的驱动使用Socket,直接在客户端和数据库间通信。优点:访问速度最快、安全性高,这是最直接、最纯粹的Java实现。 缺点:不同的数据库使用不同的驱动程序,而只有数据库厂商自己才能提供这种类型的JDBC驱动。
* JDBC是Java语言中访问数据库的专用类与接口:
JSP动态网页访问数据库要使用这些专用类与接口。它的使用方法和具体的JSP语句构成,在下面的范例中,进行具体的介绍。虽然有四种JDBC的驱动,但访问数据库时,使用的专用类与接口是一样的。或者说,编制访问数据库的JSP动态网页,如果驱动不一样,只是其中加载驱动和连接数据库的JSP语句不同,其他的语句是一样的。
驱动程序,本章主要介绍运行速度最快、安全性高的纯JDBC驱动,和在Windows环境下使用起来方便简捷的JDBC-ODBC桥驱动。
三、 JSP动态网页访问数据库的前提
前面学习JSP动态网页的设计制作,强调了配置开发运行环境。现在要访问数据库,需要进一步配置开发运行环境。在前几章要求的开发运行环境基础上,要安装数据库软件包;安装配置数据库对应的JDBC;运行数据库软件包,创建JSP动态网页所需的数据库和表;使用JDBC-ODBC桥要配置ODBC数据源;之后才能启动JSP引擎,设计制作访问数据库的JSP动态网页。以下是配置开发运行环境的内容和步骤顺序:
1. 安装J2sdk,配置环境变量path和classpath;(和前几章的要求一样);
2. 安装数据库(本教材要求安装SQL Server2000和Access2000。可以是更高的版本。安装SQL Server2000,还需安装补丁程序sql2ksp3);
3. 安装JDBC,并进行设置(使用纯JDBC驱动的必须步骤,使用JDBC-ODBC桥驱动,不需要进行这一步);
4. 创建数据库,并在库中创建所需的表。
5. 配置ODBC数据源(使用JDBC-ODBC桥的必须步骤,使用纯JDBC驱动,不需要进行这一步);
6. 启动JSP引擎,运行或设计制作访问数据库的JSP动态网页。
下面就以上的安装配置的步骤进行具体介绍:
第一步:安装J2sdk1.4.2,配置环境变量path和classpath;(和第一章介绍的步骤一样,前面已经安装配置好了,可以直接进行第二步)。
第二步:安装SQL Server2000。
SQL Server2000有四个版本,如果开发的平台是Windows 2000 Server可以安装其中任何一个版本,如果开发的平台是Windows 98、Windows 2000 XP、Windows 2000 Pro,只能安装“个人版”。下面介绍个人版安装的具体步骤:
1. 将SQL Server2000个人版光盘放入光驱,略等片刻,屏幕上看到如图4-1所示界面:
图4-1
2. 单击“安装SQL Server 2000插件,如图4-2所示界面:
图4-2
3. 单击“安装数据库服务器”,如图4-3所示
图4-3
4. 连续单击几个“下一步”,当出现如图4-4所示界面,要选择“服务器和用户端工具”
图4-4
5. 再连续单击几个“下一步”,出现如图4-5所示界面时,选择使用本地系统用户。
图4-5
6. 单击“下一步”,如图4-6所示,选择“混合模式”认证。
图4-6
注意:对于SQL Server 2000不熟悉的读者,在这里务必要选择“混合模式”认证,不然后面编制JSP动态网页时,要出现不必要麻烦。
7. 再单击两个“下一步”,开始复制文件,进行实质的安装过程,直至出现图4-7界面所示:
图4-7
8. 单击“完成”,SQL Server2000个人版安装完成。
安装SQL Server2000的补丁程序sql2ksp3。Windows 2000系列操作系统,在经历了“冲击波”、“振荡波”等病毒的大面积冲击后,都进行了打补丁升级。升级后,SQL Server2000的各个版本,就不能被JSP动态网页使用纯JDBC驱动连接访问了。必须安装SQL Server2000的补丁程序sql2ksp3。“sql2ksp3.rar”文件可以到微软公司或一些较大的软件下载网站下载,本书随书的光盘中,也有这个“sql2ksp3.rar”补丁文件。
安装的主要过程如下:
1. 将sql2ksp3.rar解压缩后。进入sql2ksp3文件夹,运行setup.bat。如图4-8所示界面:
图4-8
2. 连续单击几个“下一步”,出现如图4-9所示界面时:
图4-9
选择上方的SQL Server 系统管理员登录信息,并在输入sa密码处,输入“安装SQL Server 2000时”的sa密码,然后单击“下一步”。
3. 单击几个“下一步”,出现如图4-10所示界面时:
图4-10
选择下方的“升级Microsoft Search 并应用SQL Server 2000 SP3”,单击“继续”就开始进行实质的升级过程,等待一定时间,即可完成了补丁程序sql2ksp3的安装。
安装Access2000或更高版本。
Access是Office办公软件的的一个组件。一般安装Word、Excel等办公软件的同时就安装好了。如果没有安装,使用Office办公软件的安装光盘进行补充安装即可。这里不再具体介绍。
第三步:安装SQL Server2000对应的JDBC,并进行设置。
使用纯JDBC驱动连接SQL Server数据库,必须安装对应的JDBC驱动程序,驱动程序可以到www.sun.com或一些较大的软件下载网站免费下载,本书随书的光盘中,也有这个SQL Server2000的JDBC驱动安装文件。安装过程如下:
1. 在光盘JDBC/SQL2000-JBDC文件夹中有JDBC.exe。双击运行,如图4-11所示:
图4-11
2. 连续单击几次“Next”,出现如下图4-12界面
图4-12
安装JDBC完成后,需要进行JDBC的配置。方法如下:
安装后在系统硬盘的Program Files文件夹内会出现一个Microsoft SQL Server 2000 Driver for JDBC文件夹,将其打开找到lib子文件夹,lib文件夹内有三个驱动程序的文件msbase.jar、mssqlserver.jar、msutil.jar。将它们复制到当初安装J2sdk1.4.2文件夹中jre\lib\ext文件夹内。在ext文件夹内原有四个驱动文件,加上复制过来的三个文件,工有七个文件。(如果使用的JSP引擎是resin-2.1.6,也可以将三个驱动文件,复制到resin-2.1.6文件夹内的lib文件夹中)。到此SQL Server 2000 的JDBC安装后配置就完成了。
第四步、启动数据库软件包,创建数据库和创建JSP动态网页所需表。这些操作,以及第五步配置JDBC-ODBC数据源的具体操作,将在后面的相关范例中介绍。
注意:JSP动态网页访问数据库的准备工作非常重要,它是运行和开发JSP动态网页的前提。如果准备工作有一点错误,编辑完全正确的访问数据库的JSP动态网页也不可能正常运行。
发文时请务必注意: 一、遵守国家相关法律规定,如 《北京地区互联网站电子公告服务倡议书》, 《全国人大常委会关于维护互联网安全的决定》 及中华人民共和国其他各项有关法律法规。一旦违犯法律法规,您将承担一切因您的行为而直接或间接导致的民事或刑事法律责任,本站工作人员有义务配合相关部门,提供必要的技术资料(如IP地址等)。 二、自觉遵守爱国、守法、自律、真实、文明的原则,严禁发表有人身攻击倾向、有造谣生事嫌疑的言论,严禁发表虚假广告、色情、网络传销性质的内容,本站管理人员有权删除违反规定的内容或取消违规网友的发文权限甚至删除其ID。 |