Java与数据库讲解.ppt_第1页
Java与数据库讲解.ppt_第2页
Java与数据库讲解.ppt_第3页
Java与数据库讲解.ppt_第4页
Java与数据库讲解.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第16章 Java与数据库,数据库发展到现在已经成为日常生活中不可缺少的部分。现在的邮箱列表、网上商城、站务系统以及大型系统都离不开数据库,如果不借助数据库实现数据的存取,银行业务、图书管理系统等在实现上都会遇到难题。本章在介绍数据库的概念、SQL语言、JDBC以及MySQL数据库的基础上,通过简单的数据库访问例子,向读者介绍了Java中使用JDBC访问数据库编程基础。,16.1 数据库简介,数据库本身就是一门学科,它涉及内容也比较多,本书重点在于学习Java的应用,所以只对数据库做一个简单介绍,重在讨论数据库的应用。本节主要讲述数据库的基本概念、特点,让读者对数据库有一个初步的了解。,16.1.1 数据库概念,数据(Data):数据是用来描述一个事物的符号记录。 数据库(DB):数据库是保存大量数据的容器。 数据库管理系统(DBMS):常用的DBMS产品有Oracle、SQL Server、MySQL等。 数据库系统(DBS):它由支持数据库运行的计算机软硬件、数据库、数据库管理系统以及应用程序构成。 数据库应用系统(DBAS):数据库应用系统是基于数据库管理系统开发出来的数据库应用软件。,16.1.2 数据库特点,数据结构化是数据库与文件系统在存储结构上的最大区别。 数据库的结构化数据面向整个系统,可以被多个用户和应用程序共享,满足了不同用户的要求。 数据库独立性包括物理独立性和逻辑独立性。 由于数据库的数据是共享的,多个用户和程序可以并发的访问同一个记录,所以必须由数据库管理系统管理和维护。,16.2 SQL语句,目前大多数数据库都是关系数据库,使用结构化查询语言(Structure Query Language,SQL)可以方便地查询、操纵、定义和控制数据库中的数据。SQL语言主要是为了建立各种数据库的连接,进行通信,它被视为关系数据库管理系统的标准语言。,16.2.1 SQL语句分类,SQL语句用来执行数据库的各种操作,如数据的添加、删除、更新等。目前使用比较广泛的关系数据库管理系有Oracle、 Sybase、Microsoft SQL Server、MySQL等。,16.2.2 SELECT查询语句,SELECT查询语句用于从表中查找符合某些条件的记录,它的使用规则如下。 SELECT FROM数据表名 WHERE GROUP BY HAVING ORDER BY ASC | DESC ,16.2.3 INSERT插入语句,INSERT插入语句用于给已经存在的表中添加新的记录,其使用规则如下。 INSERT INTO “表名“(属性1,属性2,.,属性n) VALUES(属性1,属性2,.,属性n),16.2.4 UPDATE更新语句,UPDATE更新语句用于将数据表符合某个条件记录的某些字段更新,其使用规则如下。 UPDATE “数据表名” SET= WHERE,16.2.5 DELETE删除语句,DELETE删除语句用于删除表中符合条件的一行或多行记录,其使用规则如下。 DELETE FROM “数据库名” WHERE,16.2.6 CREATE建表语句,CREATE Table 命令用于创建一个数据库中不存在的新表,其使用规则如下。 CREATE TABLE 表名 ( 列名 列类型 ,.n),16.2.7 ALTER修改表语句,ALTER SQL语句用于为表增加列、删除列或者修改列,其使用规则如下。 ALTER TABLE 表名 ADD |列名 列类型| ,.n|DROPColumn 列名称 ,.n ,16.2.8 DROP删除表语句,DROP语句用于删除已经存在的表,其语句规则如下。 DROP TABLE 表名,16.3 MySQL,MySQL是一种高效且免费的数据库系统,在某些情况下可以自由使用。本书的大部分数据库程序都是基于MySQL数据库,所以本节主要讲述了MySQL数据库软件的基本安装配置流程、MySQL的使用细节。,16.3.1 MySQL的安装配置,本书以MySQ-5.0.51b版本为例(其他版本的下载安装过程与此相似),先下载mysql-5.0.51b-win32文件。 网址为“/downloads/”。,16.3.2 MySQL使用,配置好一个实例后,单击“开始”按钮,选择“所有程序”“MySQL”“MySQL Server 5.0”“MySQL Command Line Client”命令,弹出MySQL的命令行窗口。按照提示在MySQL命令行中输入上面设置的密码“root”,进入命令行。,16.4 JDBC,JDBC(Java DataBase Connectivity)提供的SQL接口可以方便地访问数据库,对数据进程操作是Java常用的数据库访问方法。本节主要讲述JDBC常用的一些接口和类,并详细介绍了这些接口和类常用的方法,通过具体的实例来演示这些接口和类的使用。,16.4.1 JDBC简介,JDBC(Java DataBase Connectivity)是Java提供数据库操作的解决方案,用于执行SQL语句的API(Application Programming Interface)应用程序设计接口,它由Java语言编写的相关类和接口组成。JDBC将不同数据库之间的API差异隐藏,实现了数据库无关的Java操作接口。这样开发人员可以使用统一的JDBC接口,从而避免直接处理操作底层数据库驱动程序与操作接口的差异。,16.4.2 JDBC常见接口和类,java.sql包提供了数据库编程需要的类和接口,利用它们可以方便地访问和处理数据库,具体的类、接口和异常如表16-1所示。,16.4.3 驱动管理类(DriverManager),驱动管理类(DriverManager)位于用户与驱动程序之间,跟踪数据库可用驱动程序,并与驱动程序建立连接。 MySQL的驱动程序类是com.mysql.jdbc.Driver或org.gjt.mm.mysql.Driver, 其应用格式如下所示: Class.forName(“com.mysql.jdbc.Driver“); 或者: Class.forName(“org.gjt.mm.mysql.Driver“);,16.4.4 连接(Connection),DriverManager加载驱动程序Driver类后,就可与数据库建立连接。建立连接的方法是DriverManager.getConnection方法发送连接请求,DriverManager检查驱动程序清单,直到找出与URL指定的数据库进行连接所需的驱动程序为止。,16.4.5 语句(Statement),如果正确创建了语句对象,就可以通过程序向数据库传送SQL语句。JDBC没有对SQL语句做任何限定,这就大大提高了灵活性,但是用户必须自己确保使用的数据库可以处理所发送的SQL语句。,16.4.6 预编译语句PreparedStatement,PreparedStatement接口派生于Statement接口。用于创建PreparedStatement对象的SQL语句中包含一个或者多个IN参数。IN参数值在创建PreparedStatement对象时未被指定,而是为每个参数指定一个“?”作为占位符,每个参数的值必须在执行语句前通过setXXX方法提供。由于PreparedStatement对象已经预编译,所以执行速度比Statement要快。在多次执行SQL语句时,应该使用PreparedStatement来提高效率。,16.4.7 结果集(ResultSet),前面已经讲过,程序执行executeQuery后返回ResultSet对象,该对象又称结果集,它包含了符合SQL语句条件的所有数据,并且可以通过get方法获取这些行数据中的不同列。,16.5 Java与各种数据库连接,JDBC与对各种数据库的操作都使用统一的SQL语句,因此数据库的各种操作基本上是相同的。不同之处在于数据库的连接上,不同的数据库必须使用各自的驱动程序(驱动程序可以在SUN公司的网站上下载),16.6 数据库开发案例,到目前为止,JDBC的基本内容基本学完,因此可以使用学过的内容开发简单的数据库应用程序。下面是一个基于AWT和MySQL的数据库查询系统。读者认真研读,可加深对本章内容的理解,还可以复习图形用户界面设计的内容。,16.6.1 构造方法,数据库开发类的案例中,通常需要在构造方法中动态加载和创建数据库驱动对象,然后通过DriverManager.getConnection方法创建连接,,16.6.2 数据查询,与数据库的数据查询相关的方法包括:showTable

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论