版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第 6 章章 JDBC 数据库开发数据库开发p 6.1 创建数据库连接p 6.2 查询记录 (P163-page6_03.jsp) 分页显示记录集分页显示记录集 (P169-page6_04.jsp) 创建搜索页创建搜索页 (P174-page6_06.jsp) 创建主创建主/ /详细页详细页 (P177-page6_08ab.jsp)p 6.3 添加记录 (P184-page6_10.jsp)p 6.4 更新记录 (P192-page6_12ab.jsp)p 6.5 删除记录 (P202-page6_14.jsp)n数据库是以一定的方式组织并存储在计算机存储设备上、能够为不同用户所共享的、
2、与应用程序彼此独立的相互关联的数据的集合。 n基本的数据模型有三种:层次模型系统、网络模型系统和关系模型系统。n关系模型系统具有数据结构简单灵活、易学易懂且数学基础雄厚等特点,发展到现在已成为数据库的标准。n常见的中小型数据库系统有Access和MySQL,大型数据库系统有SQL Server和Oracle。 数据库介绍数据库介绍 关系数据库的标准语言关系数据库的标准语言 SQLnSQL (structured Query Language)-结构化查询语言是关系数据库的标准语言。1974年由Boyce 和 Chamberlin 提出,1979 年IBM 公司首次在其关系数据库系统 Syste
3、m R 上实现了SQL。1986 年由ANSI 批准成为美国国家标准。随即由 ISO 批准成为国际标准。历经两次修改(SQL-89,SQL-92)n目前,几乎所有的关系数据库管理系统都支持SQL。SQL 的特点p功能一体化集DDL,DML,DCL于一身p高度的非过程特性用户只需告诉DBMS干什么,而不必告诉它应该怎么干。p操作的对象和结果均为集合p两种使用方式,统一的语法结构。交互式,嵌入式p易学易用语法简单,接近英语口语,完成核心功能的动词只有8个。create, drop; select, insert, update, delete; grant(授权), revoke(撤销授权)SQL
4、的数据定义语句pSQL的数据定义包括三个部分:定义基本表,定义视图,定义索引。p定义基本表的相关语句:create table, drop table, alter tablep定义视图的相关语句:create view, drop viewp定义索引的相关语句:create index, drop indexSQL 根据其功能,可以归纳成为以下3种:pData Definition Language (DDL):这一类的SQL语法,用以进行数据库结构的维护操作,例如建立数据表、调整字段名称、删除现存数据表等等 。pData Manipulation Languae(DML):提供数据库内容、
5、数据的搜寻操作,甚至修改数据内容等等 。pData Control Language (DCL ):提供数据库安全的相关SQL语句,例如设定用户权限,特定数据内容操作的安全规范等等。Sql server 2000Sql server 2000:是一个软件,微软公司于2000年8月推出的新一代的关系型网络数据库管理系统,一个由微软开发的数据库管理系统,时下用的非常普遍。四个版本: professional 专业/标准版(适合用作小型工作组和部门数据库服务器) enterprise 企业版适合作为整个企业的数据库服务器 常用【不能安装在专业版系统上】 personal 个人版(用于在客户机上储存少
6、量数据) develop 开发版使用结构示意图网页姓名密码Email提交网页服务器数据库12表:人员姓名密码EmailAccessSql server 2000姓名密码Email张三1232112312.c姓名密码23412.dl设计视图内容视图Access 与 Sql server 2000的比较数据库某表1表2表3Access数据库数据库某1表1表2表3数据库某2表1表2表3数据库服务器某Sql server 2000数据库服务器Access: 小型网站,同时访问人数不能超过1000。 访问速度慢Sql server 2000: 大型网站,企业级的数据存取应用。访问速度快。Sql serv
7、er 2000 的企业管理器数据库服务器数据库数据表 数据库主要由数量不等的数据表所组成,数据表本身用来储存特定内容的数据并建立彼此间的关联 。 数据库ODBC 利用程序连接数据库之前,首先必须在Windows控制台里的ODBC数据来源选项中,依所使用的数据库种类来选择其专属的ODBC驱动程序,并指定ODBC数据库的来源 。 JDBC 驱动程序 pJDBC(Java DataBase Connectivity)是使用Java所编写的数据库驱动程序,因此具有跨平台的特性,Java程序或者JSP程序都必须通过此类的驱动程序来连接数据库 。p下列网址提供特定特定数据库系统的专署JDBC驱动程序 。h
8、ttp:/ Ms access 新建数据库(1) Ms access新建数据库 (2)Ms access 新建数据库 (3)MS ACCESS 数据表结构示例(1)字字 段段说说 明明字字 段段说说 明明ID作者编号 eMail作者电子邮件 Name作者姓名 Phone作者连络电话 Sex作者性别 Address作者连络地址 MS ACCESS 数据表结构示例(2)p字段本身包含几个要素,分别是“字段名称”、“数据类型”和“说明”这3个部份 。p字段名称、数据类型代表一个特定字段的名称以及该字段所能储存的数据内容 。p说明是存放这个字段的说明 ,这一部分能够省略。MS ACCESS 数据表结构
9、示例(3)数据类型说 明文本 用以储存一般字符类型的数据 备注 储存大量的文字数据,例如备注类型的数据内容 数字 储存数字类型的数据,例如整数浮点数等等 日期/时间 储存时间日期等类型的数据内容 货币 储存需要高精确度,使用于货币金额计算的数据 自动编号 使用于本身作为编号的字段,例如订单号码,于每次新增一条数据的时候,自动新增号码 是/否 储存TRUE或是FALSE等布尔类型数据 MS ACCESS 数据类型 字段类型名称 数据类型 说 明数字 byte字节整数 smallint整数 int长整数 single 单精准数 double双精准数 文本 char(n)记录最大为n个字符的数据,n
10、最大值为255 备注 longtext字符串数据类型,可记录最大字符串长度为64k 日期/时间 date日期数据 自动编号 counter字段中的数值会自动递增 MS ACCESS 字段属性 字段属性字段属性说说 明明primary key设定字段为主索引 unique设定主索引字段的值不可重复 not null设定字段内容不允许为空 MS ACCESS 连接数据库p加载JDBC驱动程序 pCLASS.FORNAME(SUN.JDBC.ODBC.JDBCODBCDRIVER“)p连接数据库 pCONNECTION OBJCONNECTION = DRIVERMANAGER.GETCONNECT
11、IONp(JDBC:ODBC:DATABASE,USERID,USERPWD) p关闭数据库 pOBJCONNECTION.CLOSE()SQL SERVERp尽管 SQ L语言是一种标准的关系数据库语言,但不同厂商的 DBMS 所支持的SQL仍有一些差异。这主要是因为各厂商根据自己的需要对SQL 作了一些扩充。本课程在介绍操作实例时使用微软公司的SQL SERVER。它在SQL语法,数据库功能上与SYBASE公司的SYBASE SQL SERVER基本相同。既有可以在单机上运行的版本,也有可以在网络上运行的版本。是广泛使用的大型数据库管理系统之一。SQL SERVER的数据类型-字符数据字符
12、数据由字母、符号和数字组成。例如,有效字 符 数 据 包 括 “ 9 2 8 ” 、 “ JO H N S O N” 和“(0*&(%B99NH JKJ”。在 MICROSOFT SQL SERVER 2000 中,字符数据使用 CHAR、VARCHAR 和 TEXT 数据类型存储。当列中各项的字符长度数可变时可用 VARCHAR 类型,但任何项的长度都不能超过 8 KB。当列中各项为同一固定长度时使用 CHAR类型(最多 8KB)。TEXT 数据类型的列可用于存储大于 8KB 的 ASCII 字符。SQL SERVER的数据类型-数字数据之整数数据整型数据由负整数或正整数组成,如 -15、0
13、、5 和 2509。在 Microsoft SQL Server 2000 中,整型数据使用 bigint、int、smallint 和 tinyint 数据类型存储。bigint 数据类型可存储的数字范围比 int 数据类型广。int 数据类型比 smallint 数据类型的存储范围大,而 smallint 的数值范围又比 tinyint 类型大。使用 bigint 数据类型存储从 -263 (-9223372036854775808) 到 263-1 (9223372036854775807) 范围内的数字。存储大小为 8 个字节。int 数据类型的存储范围是 -2,147,483,648
14、 至 2,147,483,647(每个值需 4 个字节的存储空间)。smallint 数据类型的存储范围只有 -32,768 至 32,767(每个值需 2 个字节的存储空间),tinyint 数据类型只能存储 0 至 255 范围内的数字(每个值需 1 个字节的存储空间)。SQL SERVER的数据类型-数字数据之小数数据Decimal 数据包含存储在最小有效数上的数据。在 SQL Server中,小数数据使用 decimal 或 numeric 数据类型存储。存储 decimal 或 numeric 数值所需的字节数取决于该数据的数字总数和小数点右边的小数位数。例如,存储数值 19283.
15、29383 比存储 1.1 需要更多的字节。在 SQL Server中,numeric 数据类型等价于 decimal 数据类型。近似数字(浮点)数据包括按二进制计数系统所能提供的最大精度保留的数据。在 SQL Server 中,近似数字数据以 float 和 real 数据类型存储。例如,分数 1/3 表示成小数形式为 0.333333(循环小数),该数字不能以近似小数数据精确表示。因此,从 SQL Server 获取的值可能并不准确代表存储在列中的原始数据。又如,以 .3, .6, .7 结尾的浮点数均为数字近似值。SQL SERVER的数据类型-日期和时间数据日期和时间数据由有效的日期或
16、时间组成。例如,有效日期和时间数据既包括4/01/98 12:15:00:00:00 PM,也包括1:28:29:15:01 AM 8/17/98。在 Microsoft SQL Server 2000 中,日期和时间数据使用 datetime 和 smalldatetime 数据类型存储。使用 datetime 数据类型存储从 1753 年 1 月 1 日至 9999 年 12 月 31 日的日期(每个数值要求 8 个字节的存储空间)。使用 smalldatetime 数据类型存储从 1900 年 1 月 1 日至 2079 年 6 月 6 日的日期(每个数值要求 4 个字节的存储空间)。S
17、QL SERVER的数据类型-二进制数据二进制数据由十六进制数表示。例如,十进制数 245 等于十六进制数 F5。在 Microsoft SQL Server 2000 中,二进制数据使用 binary、varbinary 和 image 数据类型存储。指派为 binary 数据类型的列在每行中都是固定的长度(最多为 8 KB)。指派为 varbinary 数据类型的列,各项所包含的十六进制数字的个数可以不同(最多为 8 KB)。image 数据列可以用来存储超过 8 KB 的可变长度的二进制数据,如 Microsoft Word 文档、Microsoft Excel 电子表格、包含位图的图像
18、、图形交换格式 (GIF) 文件和联合图像专家组 (JPEG) 文件。除非数据长度超过 8KB 时用 image 数据类型存储,一般宜用 varbinary 类型来存储二进制数据。建议列宽的定义不超过所存储的二进制数据可能的最大长度。SQL SERVER的数据类型-货币数据货币数据表示正的或负的货币值。在 Microsoft SQL Server 2000 中使用 money 和 smallmoney 数据类型存储货币数据。货币数据存储的精确度为四位小数。可以存储在 m o n e y 数 据 类 型 中 的 值 的 范 围 是 -9 2 2 , 3 3 7 , 2 0 3 , 6 8 5 ,
19、 4 7 7 . 5 8 0 8 至 +922,337,203,685,477.5807(需 8 个字节的存储空间)。可以存储在 smallmoney 数据类型中的值的范围是 -214,748.3648 至 214,748.3647(需 4 个字节的存储空间)。如果数值超过了上述范围,则可使用 decimal 数据类型代替。SQL SERVER之SQL SERVER ENTERPRISE MANAGERSQL Server 企业管理器是 Microsoft SQL Server 2000 的主要管理工具,它提供了一个遵从 Microsoft 管理控制台 (MMC) 的用户界面,使用户得以: 定
20、义运行 SQL Server 的服务器组。将个别服务器注册到组中。为每个已注册的服务器配置所有 SQL Server 选项在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。唤醒调用为 SQL Server 定义的各种向导。 SQL Server之查询分析器Microsoft SQL Server 2000 SQL 查询分析器是一种图形工具,可以使用它进行以下操作: 创建查询和其它 SQL 脚本,并针对 S
21、QL Server 数据库执行它们。(“查询”窗口)由预定义脚本快速创建常用数据库对象。(模板)快速复制现有数据库对象。(对象浏览器脚本功能)在参数未知的情况下执行存储过程。(对象浏览器过程执行功能)调试存储过程。(T-SQL 调试程序)调试查询性能问题。(显示执行计划、显示服务器跟踪、显示客户统计、索引优化向导)在数据库内定位对象(对象搜索功能),或查看和使用对象。(对象浏览器)快速插入、更新或删除表中的行。(“打开表”窗口)为常用查询创建键盘快捷方式。(自定义查询快捷方式功能)向“工具”菜单添加常用命令。(自定义“工具”菜单功能)SQL SERVER 创建数据库用SQL Server En
22、terprise Manager建立学生数据库testdb.db。用查询分析器建立学生数据库 TESTDB.DBuse mastergocreate database testdb on ( name = testDB_dat, filename = D:datatestdbdat.mdf, size = 1, maxsize = 5, filegrowth = 1 )Log on ( name= testDB_log, filename = D:datatestdblog.ldf, size = 1mb, maxsize = 5mb, filegrowth = 1mb )go基本表的定义 c
23、reate table命令语法:create table database_name. owner .| owner. table_name( | column_name as computed_column_expression| := constraint constraint_name | primary key | unique ,.n ) on filegroup | default textimage_on filegroup | default 参数说明column-definition:column-name data-type not null default default
24、-value 基本表的定义(续一)column-constraint: unique | primary key | references table-name ( column-name ) actions | check ( condition )default-value: string | global variable | number | autoincrement| current date | current time | current timestamp | null | user | ( constant-expression )基本表的定义(续二)table-const
25、raint: unique ( column-name, . ) | primary key ( column-name, . )| check ( condition )| foreign-key-constraintforeign-key-constraint: not null foreign key role-name (column-name, . ) references table-name (column-name, . ) actions check on commit action:on update | delete cascade | set null | set de
26、fault | restrict 基本表的定义举例定义表系定义表系(department),表名为,表名为d,包括系编号,包括系编号d#和系名和系名dn,以系编号为主码,以系编号为主码。create table d (d# char(2) not null, dn char(20), primary key (d#)定义表学生(定义表学生(student),表名为,表名为s,包括学号,包括学号s#、姓名、姓名sn、所在系的编号所在系的编号d#、和年龄、和年龄sa。以学号为主码,系编号为外部。以学号为主码,系编号为外部码,引用表码,引用表d中的系编号。中的系编号。create table s (
27、s# char(8) not null primary key, sn char(8) not null, d# char(2) not null references d(d#), sa int)基本表的定义举例定义表课程定义表课程(course),表名为,表名为c,包括课程编号,包括课程编号c#,课程名,课程名cn,先修课程编号先修课程编号pc#。课程编号为主码。课程编号为主码。create table c (c# char(2) not null, cn char(20) not null, pc# char(2),primary key (c#);定义表定义表“学生选课学生选课”,表名
28、为,表名为sc,包括学号,包括学号s#、课程号、课程号c#、成、成绩绩g。以学号和课程编号为主码。学号为外部码,引用表。以学号和课程编号为主码。学号为外部码,引用表s中的学中的学号。课程编号为外部码,引用表号。课程编号为外部码,引用表c中的课程编号。中的课程编号。 create table sc(s# char(8) not null references s(s#), c# char(2) not null references c(c#), g int, primary key (s#,c#);基本表的删除语法:语法:drop table owner.tablename举例:举例:删除表s
29、cdrop table scQuestion:若在删除表sc前删除表c,则会发生错误。为什么?基本表的修改(Alter Table)通过更改、添加、除去列和约束,或者通过启用通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。或禁用约束和触发器来更改表的定义。alter table table alter column column_name new_data_type ( precision , scale ) collate null | not null | add | drop rowguidcol | add | column_name as computed
30、_column_expression ,.n | with check | with nocheck add ,.n | drop constraint constraint_name | column column ,.n | check | nocheck constraint all | constraint_name ,.n | enable | disable trigger all | trigger_name ,.n 基本表的修改举例在表s中增加一列生日(birthday),类型为日期时间型:alter table sadd birthday datetime null修改课程表
31、,使课程名的长度为30个字节。alter table c alter column cn char(30)索引的定义(create index)create unique clustered | nonclustered index index_nameon table | view ( column asc | desc ,.n ) with ,.n on filegroup := pad_index | fillfactor = fillfactor |ignore_dup_key |drop_existing |statistics_norecompute |sort_in_tempdb
32、 本命令在指定的表及指定的列上建立索引,索引由dbms自动使用以提高对数据库的查询速度和对查询结果排序的速度。索引举例设有一职工表设有一职工表employee包含两列:姓包含两列:姓emp_lname和名和名emp_fname。下例建立一个含这两个列的索引。下例建立一个含这两个列的索引。create index employee_name_index on employee ( emp_lname, emp_fname )在表在表s为列为列d#建立索引:建立索引:create index department_id_index on s( d# )查看索引-使用存储过程 sp_helpinde
33、x报告有关表或视图上索引的信息。语法语法sp_helpindex objname = name参数参数objname = name是当前数据库中表或视图的名称。name 的数据类型为 nvarchar(776),没有默认值。例如:查看学生表例如:查看学生表s上的索引上的索引sp_helpindex s索引的删除语法:语法:drop index table.index | view.index ,.n 例:例:删除索引删除索引 employee_name_indexdrop index employee.employee_name_index删除索引删除索引 department_id_inde
34、xdrop index s.department_id_indexSQL的数据操纵语句SQL的数据操纵语句是指追加、修改、删除表中记录的有关语句。我们将它与数据查询语句分开,一方面一方面是因为操纵语句会改变数据库中的内容,查询语句不会。另另一方面一方面是因为数据操纵语句的语法相对较简单。然而,为了查看数据操纵的结果,我们先简单介绍数据查询语句的最基本形式。简单的数据查询语句select语法:select * | select list from tablename 举例:查看学生表中的记录 select * from s追加记录(元组)INSERT语法:格式 1 (作用:插入一行到指定的表中)
35、insert into owner.table-name ( column-name, . ) values ( expression | default, . )格式 2 ( 作用:从其他表中插入一行或多行记录)insert into owner.table-name ( column-name, . )select-statementinsert语句举例插入记录到表插入记录到表d中中insert into d(d#,dn) values(01,计算机系);insert into d(d#,dn) values(02,经贸学院);insert into d(d#,dn) values(03,
36、化工学院);insert into s values(s01,王芳,01,20,null)插入记录到表插入记录到表c中中insert into c(c#,cn,pc#) values(c1,计算机基础,NULL);insert into c(c#,cn,pc#) values(c2,数据库原理,c1);insert into c(c#,cn,pc#) values(c3,英语,NULL);insert into c(c#,cn,pc#) values(c4,高等数学,NULL);修改记录内容(UPDATE)语法:语法:update table-list set column-name = ex
37、pression|subquery, . where search-condition 作用:作用:将指定表table-list中符合条件search-condition的行的相应列column-name修改为表达式expression的值或子查询subquery的值。将所有学生的年龄增加将所有学生的年龄增加1岁岁:update s set sa = sa + 1将学生将学生 li 的年龄增加的年龄增加1岁:岁:update s set sa = sa + 1 where sn=li删除记录delete语法语法:delete from owner.table-name where search
38、-condition作用作用:删除指定表table-name中,符合条件search-condition的记录。删除表删除表s中,年龄大于中,年龄大于25岁的学生岁的学生。delete from s where sa 25删除表删除表sc中的所有记录中的所有记录:delete from scJDBC 简介 JDBC 全称为Java DataBase Connectivity standard,它是一种可用于执行SQL语句的Java API。它由一些Java语言编写的类和界面组成,JDBC提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。1、JDBC的任务
39、的任务 (简单地说,JDBC能完成下列三件事) (1)同数据库建立连接 (2)向数据库发送SQL语句(3)处理数据库返回的结果 2、JDBC支持两层模型,也支持三层模型访问数据库。支持两层模型,也支持三层模型访问数据库。 6.1.1 JDBC驱动程序类型 1、JDBC-ODBC桥 2、Java到本地API3、JDBC网络纯Java驱动程序 4、Java到本地数据库协议到本地数据库协议jsp 运用 sql创建 web 界面 JDBC实现数据库的操作的步骤JDBC API是通用接口,在与数据库连接时先要加载。加载驱动程序有很多方法,最常用的就是先把驱动程序类溶解到内存中,作为“当前”驱动程序。内存
40、中可以有多个驱动程序,但只有现在加载的这个作为首选连接的驱动程序。利用利用JDBC实现数据库的操作一般可分为如下几个步骤。实现数据库的操作一般可分为如下几个步骤。1、加载jdbc驱动程序。2、定义连接url3、通过 DriverManager到得一个与数据库连接的句柄4、创建statement对象。5、执行查询或更新。6、查看返回的结果集。7、关闭结果集对象。8、关闭statement对象。9、关闭连接接口。6.1.2 安装 JDBC 驱动程序1. 安装Microsoft SQL Server 2000 JDBC驱动程序安装文件:mssqlserver.jar、msbase.jar、msuti
41、l.jar2. 安装Microsoft SQL Server 2005 JDBC驱动程序 安装文件:sqljdbc.jar的文件3. 安装MySQL JDBC驱动程序 安装文件:mysql-connector-java-3.0.17-ga-bin.jar4. 安装Oracle JDBC驱动程序 安装文件:classes12.jar以上驱动程序的安装位置均为:$CATALINA_HOME/common/lib6.1.3 加载JDBC驱动程序n加载和注册一个JDBC数据库驱动程序: Class.forName(className);n常用JDBC数据库驱动程序类名 实现数据库连接n创建到指定数据库
42、的连接:创建到指定数据库的连接:Connection conn = DriverManager.getConnection(url, user, password);nurl参数格式参数格式n连接一个ODBC数据源时参数url格式:jdbc:odbc:dnsNamen使用SQL Server 2000 JDBC驱动程序连接数据库时参数url:jdbc:microsoft:sqlserver:/host:port; DatabaseName=dbNamen使用SQL Server 2005 JDBC驱动程序连接数据库时参数url格式:jdbc:sqlserver:/host:port; Data
43、baseName=dbNamen连接MySQL数据库时url参数的格式:jdbc:mysql:/host:port/dbNamen连接Oracle数据库时url参数的格式:jdbc:Oracle:thin:/host:port:dbNameP 163 STUDENTS 表的结构对STUDENTS表进行 SQL 操作nselect versionselect versionnselect * from studentsnselect select * * from students where class=0501 and from students where class=0501 and s
44、tudentsex=studentsex=男男 ninsert into Students values(20050207,刘玉倩,女,1998-12-29,多媒体技术,0502,1,)ninsert into Students(StudentID, insert into Students(StudentID, StudentName,StudentSex,Birthdate,Major) StudentName,StudentSex,Birthdate,Major) values(20050105,values(20050105,李云飞李云飞, ,男男,1988-5-18,1988-5-1
45、8,计算机应用计算机应用) )nupdate Students set Major=计算机网络技术,email= where studentname=汪江涛ndelete from students where studentid=20050207delete from students where studentid=20050207P 163 page6_03.jsp (1) P 163 page6_03.jsp (2)6.1.4 实现数据库连接n创建到指定数据库的连接:Connection conn = DriverManager.getConnection(url, user, pas
46、sword);nurl参数格式n连接一个ODBC数据源时参数url格式:jdbc:odbc:dnsNamen使用SQL Server 2000 JDBC驱动程序连接数据库时参数url:jdbc:microsoft:sqlserver:/host:port; DatabaseName=dbNamen使用SQL Server 2005 JDBC驱动程序连接数据库时参数url格式:jdbc:sqlserver:/host:port; DatabaseName=dbNamen连接MySQL数据库时url参数的格式:jdbc:mysql:/host:port/dbNamen连接Oracle数据库时url
47、参数的格式:jdbc:Oracle:thin:/host:port:dbName6.1.5 在Dreamweaver中创建数据库连接n打开JSP页,选择“窗口”“数据库”命令。n在“数据库”面板上单击加号按钮 ,并从弹出菜单中选择驱动程序。如果菜单中没有列出所需要的驱动程序,可选择“自定义JDBC连接”。n设置连接参数:n输入连接的名称。注意不要在该名称中使用任何空格或特殊字符。n输入驱动程序的连接参数,包括驱动程序完全限定类名、要连接的数据库的URL、用户名和密码。n指定要使用的JDBC驱动程序的位置,通常应该选择“在测试服务器上使用驱动程序”选项。n单击“测试”按钮。6.2.1 SELEC
48、T语句SELECT INTO FROM WHERE ORDER BY ASC | DESC n其中SELECT子句用于指定输出字段;INTO子句的作用是将检索结果存储到一个名为newTable的新表中;FROM子句用于指定要检索的数据来源;WHERE子句用于指定对记录的搜索条件;ORDER BY子句用于对检索到的记录进行排序处理。6.2.2 使用JDBC API创建记录集1. Connection接口nConnection接口的常用方法nvoid close( ):立即释放此Connection对象的数据库和JDBC资源nStatement createStatement( ):创建一个Sta
49、tement对象来将SQL语句发送到数据库nCallableStatement prepareCall(String sql):创建一个CallableStatement对象来调用数据库存储过程nPreparedStatement prepareStatement(String sql):创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库6.2.2 使用JDBC API创建记录集2. Statement及其子接口njava.sql.Statement接口用于执行静态SQL语句并返回所生成的结果。Statement接口有一个PreparedStatement子接口,
50、用于对SQL语句进行预编译,然后可以高效地多次执行该语句。PreparedStatement接口有一个CallableStatement子接口,用于执行数据库中的存储过程。n创建Statement对象:Statement stmt = conn.createStatement( );6.2.2 使用JDBC API创建记录集nStatement接口的常用方法nvoid close( ):立即释放此Statement对象的数据库和JDBC资源nboolean execute(String sql):执行给定的SQL语句,该语句可能返回多个结果nResultSet executeQuery(Str
51、ing sql):执行给定的SQL语句,该语句返回单个ResultSet对象nint executeUpdate(String sql):执行给定SQL语句,该语句可能为INSERT、UPDATE或DELETE语句,或者不返回任何内容的SQL语句(如SQLDDL语句)6.2.2 使用JDBC API创建记录集2. Statement及其子接口nPreparedStatement接口的常用方法nboolean execute( ):在此PreparedStatement对象中执行SQL语句,该语句可以是任何SQL语句nResultSet executeQuery( ):在此PreparedSta
52、tement对象中执行SQL查询,并返回一个ResultSet对象nint executeUpdate( ):在此PreparedStatement对象中执行SQL语句,该语句必须是一个INSERT、UPDATE或DELETE语句,或者是一个什么都不返回的SQL语句nvoid setObject(int parameterIndex, Object x):使用给定对象设置指定参数的值6.2.2 使用JDBC API创建记录集3. ResultSet接口 创建ResultSet对象:nResultSet rs = stmt.executeQuery(String sql)nResultSet r
53、s = pstmt.executeQuery( );nResultSet接口的常用方法:nboolean absolute(int row):将将指针移动到此ResultSet对象的给定行编号nObject getObject(int columnIndex):以Java语言中Object的形式获取此ResultSet对象的当前行中指定列的值nObject getObject(String columnName):以Java语言中Object的形式获取此ResultSet对象的当前行中指定列的值nboolean next()将指针从当前位置下移一行。nboolean previous():将指
54、针将指针移动到此ResultSet对象的上一行。nboolean wasNull():报告最后一个读取的列是否具有SQL NULL值6.2.3 在DREAMWEAVER中创建记录集1. 用简单记录集对话框创建记录集n打开要使用记录集的JSP动态页。n选择“窗口”“绑定”命令。n在绑定面板中单击加号按钮 ,选择“记录集(查询)”命令。n若出现了高级记录集对话框,请通过单击“简单”按钮。n在“名称”文本框中,输入记录集的名称。n从“连接”列表框中选取一个连接。n在“表”列表框中,选取为记录集提供数据的数据库表。n若要使记录集只包括数据库表中的部分字段,请单击“已选定”,然后按住Ctrl键并单击列表
55、中的字段,以选择所需的字段。n若要只包括表中的某些记录,请按照下列步骤完成“过滤器”部分。n在第一个列表框中选取数据库表中的字段。n在第二个列表框中选取一个运算符。n在第三个列表框中选取一种测试值类型(包括URL参数、表单变量、cookie、会话变量、应用程序变量以及输入的值)。n在文本框中输入测试值。例如,若选择了表单变量,则应在此文本框中输入表单元素的名称。n若要对记录进行排序,请选取要作为排序依据的列,然后指定是按升序(1、2、3.或A、B、C.)还是按降序对记录进行排序。6.2.3 在DREAMWEAVER中创建记录集2. 用高级记录集对话框创建记录集n打开要使用记录集的JSP页。n在
56、绑定面板中单击加号按钮 ,选择“记录集(查询)”命令。n如果出现了简单记录集对话框,请通过单击“高级”按钮切换到高级记录集对话框。n在“名称”文本框中,输入记录集的名称。n从“连接”列表框中选取一个连接。n在SQL文本区域中输入一个SQL语句。n如果SQL语句包含变量,请在“变量”区域中定义它们的值,方法是单击加号按钮并输入变量名称、默认值(若未返回运行时值,则变量应取该值)和运行时值。6.2.3 在DREAMWEAVER中创建记录集3. 管理记录集n显示字段值。若要在JSP页中显示记录集内的某个字段值,可从绑定面板上将该字段直接拖放到页面中;也可以先定位插入点,然后在绑定面板上单击一个字段,
57、然后单击绑定面板底部的“插入”按钮。n编辑记录集。创建记录集时,新记录集同时出现在绑定面板和服务器行为面板上。若要对已有记录集进行修改,可在服务器面板上单击该记录集,然后利用属性检查器对记录集的属性进行设置。n复制记录集。若要在两个JSP页之间复制记录集,可打开包含记录集的JSP页,在绑定面板上右击一个记录集并从弹出菜单中选择“拷贝”命令,然后切换到另一个JSP页,接着在绑定面板上单击鼠标右键并从弹出菜单中选择“粘贴”命令。n删除记录集。若要删除一个记录集,可在绑定面板上单击该记录集,然后单击减号按钮 。6.2.4 分页显示记录集创建记录集之后,就可以在JSP页上显示记录集的内容。如果记录集包
58、含的记录比较多(例如10 000条),则必须通过设置在一个页面中显示的记录数目来分页显示记录集,以缩短页面的下载时间。在一个页面中显示的记录构成一个记录组,可以通过记录集导航条在不同记录组之间移动,也可以通过记录计数器显示总页数、当前页号以及记录总数。1. 通过编程实现记录集分页显示2. 通过服务器行为实现记录集分页显示6.2.5 创建搜索/结果页n为了给JSP应用程序添加搜索功能,通常需要创建一个搜索页和一个结果页。在搜索页中,访问者通过表单输入搜索参数并将这些参数传递给服务器上的结果页,由结果页获取搜索参数,连接到数据库并执行数据库查询,创建记录集并显示其内容。在某些情况下,也可以将这搜索
59、页和结果页合而为一。1. 通过编程实现搜索/结果页2. 通过服务器行为实现搜索/结果页6.2.6 创建主/详细页n主/详细页通过两个明细级别来显示从数据库中检索的信息。这个页面集由主页和详细所组成,主页列出通过查询返回的所有记录部分信息的列表,每条记录都包含一个超级链接,当单击主页上的超级链接时打开详细页并传递URL参数,在详细页中读取URL参数并根据此参数值执行数据库查询,以检索所选记录的更多详细信息并显示出来。1. 通过编程实现主/详细页2. 通过服务器行为实现主/详细页6.3.1 SQL INSERT语句INSERT语句的基本语法如下:INSERT INTO tableName(fiel
60、dList) VALUES (valueList)n其中tableName是用来接受数据的表的名称;fieldList给出若干个要插入数据的字段,该列表必须用圆括号起来,其中的各个字段用逗号分隔,如果省略fieldList,则使用目标表中的所有字段来接受数据;valueList给出待插入的数据,这个列表也必须用圆括号括起来,其中的各个值用逗号分隔。n如果希望在一行记录的所有字段中添加数据,则可以省略INSERT语句中的(fieldList)部分。在这种情况下,只要在VALUES关键字后面列出要添加的数据值就行了,但必须使值的顺序与目标表中的字段顺序保持一致。6.3.2 编程实现添加记录调用Cl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 少先队活动课《民族团结一家亲-同心共筑中国梦》课件
- 【教案】部编语文三上11 一块奶酪【国家级】一
- 发热护理的好处和作用
- 培训机构行政前台
- 《失眠不寐》课件
- 福建省龙岩市2021届高三下学期3月第一次教学质量检测化学试题(解析版)
- 《公司治理内部控制》课件
- 关于物业服务培训
- 天上永远不会掉下玫瑰来如果想要更多的玫瑰需要自己种植
- 信息工程20培训
- 技能大师工作室建设PPT幻灯片课件(PPT 66页)
- 《逻辑学》第五章-词项逻辑
- 头痛的国际分类(第三版)中文
- 新概念第一册语法知识点汇总(完美版)
- 建筑力学完整版全套ppt课件
- 【课件】Unit4Readingforwriting课件高中英语人教版(2019)必修第二册
- 学生学习过程评价量表
- 1.我们生活的世界
- 欧陆590系列数字直流式调速器中文说明书
- 分布函数(课堂PPT)
- 古城南京的城市演变与现代规划
评论
0/150
提交评论