国防科大JIVA第10章JDBC_第1页
国防科大JIVA第10章JDBC_第2页
国防科大JIVA第10章JDBC_第3页
国防科大JIVA第10章JDBC_第4页
国防科大JIVA第10章JDBC_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

数据库技术10.110.2JDBC概述10.3JDBC常用接口Java连接数据库过程10.410.5Java访问数据库实例10.1.1

数据库技术简介10.1

数据库技术

数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理和存取大量的数据资源,数据库技术主要研究如何存储、使用和管理数据。

近年来,数据库技术和计算机网络技术的发展相互渗透、相互促进,已成为当今计算机领域发展迅速、应用广泛的两大领域。数据库技术不仅应用于事务处理,并且进一步应用到情报检索、人工智能、专家系统、计算机辅助设计等领域。根据数据模型的发展,数据库系统可以划分3个阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。返回10.1.2

SQLServer数据库10.1

数据库技术

SQLServer

的全称是

MicrosoftSQLServer,是由美国Microsoft(微软)公司制作并发布的一种性能优越的关系数据库管理系统,具有强大的数据库创建、开发、设计和管理功能,目前,SQLServer

数据库在中小企业项目上应用非常广泛。

随着

SQLServer

数据库不断升级,已经产生了不同的版本。1.SQLServer20002.SQLServer20053.SQLServer200810.1.3

MySQL数据库10.1

数据库技术

MySQL

是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB

公司。在2008年1月16号被

Sun

公司收购。2009年,Sun

公司又被

Oracle(甲骨文)公司收购。MySQL

被广泛地应用在

Internet

上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL

作为网站数据库。10.1.4

Oracle数据库

Oracle

数据库是一种大型数据库系统,一般应用于商业、政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用

SQLServer

数据库系统,它的操作很简单,功能也非常齐全。只是比较

Oracle

数据库而言,在处理大量数据方面有些不如意。10.1.5

ACCESS数据库10.1

数据库技术

MicrosoftAccess

数据库在很多地方得到广泛使用,例如,小型企业、大公司的部门和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。同时,由于

Access

数据库操作简单、使用方便等特点,许多小型的

Web

应用程序也采用

Access

数据库。目前,广泛采用的

Access

数据库为

MicrosoftAcc

ess2003。10.2.1

JDBC技术介绍10.2

JDBC概述

JDBC

是一套面向对象的应用程序接口(API),JDBC

实现了统一访问不同的关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现。通过

JDBC

技术,开发人员可以用

Java语言和标准的

SQL

语句编写完整的数据库应用程序,并且真正实现软件的跨平台性。

JDBC

是一种底层的

API,在访问数据库时需要在

Java

程序里面直接嵌入

SQL

语句,由于

SQL语句是面向关系的,依赖于关系模型,所以

JDBC

传承了简单直接的优点,特别是对于小型应用程序十分方便。需要注意是,JDBC

不能直接访问数据库,必须依赖数据库厂商提供的

JDBC

驱动程序。

返回10.2.1

JDBC技术介绍10.2

JDBC概述

通常情况下

JDBC

完成以下操作:向数据库发送SQL语句建立数据库连接处理数据库返回的结果12310.2.1

JDBC技术介绍10.2

JDBC概述JDBC

独立了驱动程序,可以使开发者专注于业务逻辑的开发。JDBCAPI是面向对象的,可以重用

JDBC,并能二次封装。JDBC

支持多种关系数据库,增强了其可移植性。JDBC的优点:10.2.1

JDBC技术介绍10.2

JDBC概述JDBC的缺点:JDBC

访问数据库,速度受到限制。通过

JDBC访问数据库,是面向关系的。JDBC

提供了对不同厂家的产品的支持,这将对数据源带来影响。10.2.2

JDBC驱动层序10.2

JDBC概述1.JDBC-ODBC

桥2.本地

API

驱动3.网络协议纯

Java

驱动4.本地协议纯

Java

驱动10.3.1

驱动程序接口Drriver

10.3

JDBC常用接口

每一个数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称

Driver

类,在加载

Driver

类时,应该创建自己的实例并向

java.sql.DriverManager

类注册该实例。

一般情况下,通过

java.lang.Class

类的静态方法“forName(StringclassName)”,加载要连接数据库的Driver类,该方法的入口参数为要加载

Driver

类的完整包名。成功加载后,会将Driver

类的实例注册到

DriverManager

类中,如果加载失败,将抛出

ClassNotFoundException

异常,即未找到

Driver

类异常。返回10.3.2

驱动程序管理接口DrriverManager

10.3

JDBC常用接口

java.sql.DriverManager

类负责管理

JDBC

驱动程序的基本服务,是

JDBC

的管理层,作用于用户和驱动程序之间,负责跟踪可用的驱动程序,并在数据库和驱动程序之间建立连接。另外,DriverManager

类也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等工作。成功加载

Driver

类并在

DriverManager

类中注册后,DriverManager

类即可用来建立数据库连接。10.3.3

数据库连接接口Connection

java.sql.Connection

接口代表与特定数据库的连接,在连接的上下文中可以执行

SQL

语句并返回结果,还可以通过getMetaData()

方法获得由数据库提供的相关信息。

例如:数据表、存储过程和连接功能等信息。10.3.4

执行SQL语句接口Statement

10.3

JDBC常用接口

java.sql.Statement

接口用来执行静态的SQL语句,并返回执行结果。

例如:对于

insert、update和delete

语句,调用executeUpdate(Stringsql)

方法,而

select

语句则调用executeQuery(Stringsql)

方法,并返回一个永远不能为

null

的ResultSet

实例。10.3.5

执行带参数SQL语句接口PreparedStatement

java.sql.PreparedStatement

接口继承并扩展了

Statement

接口,用来执行带参数的

SQL

语句。通过

PreparedStatement

实例执行的带参数的

SQL

语句,将被预编译并保存到PreparedStatement实例中,从而可以反复并且高效地执行该

SQL语句。10.3.6

结果集接口ResultSet

10.3

JDBC常用接口java.sql.ResultSet

接口类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的相关信息。例如:列名和类型等,ResultSet

实例通过执行查询数据库的语句生成。10.4

Java连接数据库过程

Java

语言要对某一个数据库进行操作,首先要连接数据库,Java语言连接数据库的步骤大致分为:创建数据库连接对象2加载JDBC驱动程序1执行

SQL

语句3接收并处理SQL的返回结果4关闭创建的连接对象5返回10.4.1

加载JDBC驱动程序10.4

Java连接数据库过程使用

JDBC-ODBC

桥驱动程序的语句如下:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");使用

Oracle

JDBC

驱动程序的语句如下:Class.forName("oracle.jdbc.driver.OracleDriver");使用

SQLServer

JDBC

驱动程序的加载语句如下:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");使用

MySQL

JDBC

驱动程序的加载语句如下:Class.forName("com.mysql.jdbc.Driver");

成功加载后,会将

Driver

类的实例注册到

DriverManager

类中,如果加载失败,将抛出

ClassNotFoundException

异常,即未找到数据库

JDBC

驱动程序类异常。10.4.2

创建数据库连接对象10.4

Java连接数据库过程使用

JDBC-ODBC

桥连接某一个数据库的数据源语句如下:

DriverManager.getConnection("jdbc:odbc:user","user","password")不配置数据源,使用

JDBC-ODBC

桥连接

Access

数据库语句如下:DriverManager.getConnection("jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ=E:\\db1.mdb","user","password")使用

JDBC

驱动连接

MySQL

数据库的语句如下:DriverManager.getConnection("jdbc:mysql://localhost/test","root","123")使用

JDBC

驱动连接

SQLServer

数据库的语句如下:DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test","sa","123")10.4.3

执行SQL语句10.4

Java连接数据库过程

建立数据库连接(Connection)的目的是与数据库通信,最终操作数据库还需要执行

SQL

语句,通过

Connection

对象是不能执行

SQL

语句的,还需要通过

Connection

对象创建Statement对象才可以。(1)Statement:

该接口的对象用于执行无参数的

SQL

语句。对应的Connection对象的创建方法为:createStatement()(2)PraparedStatement:

该接口继承了

Statement

接口并做了功能的相应扩充,PraparedStatement

接口的对象用于执行带参数的

SQL

语句。对应的

Connection

对象的创建方法为:prepareStatement(StringSQL)Statement的类型10.4.4

接受并处理SQL的返回结果10.4

Java连接数据库过程

通过

Statement

接口和

PraparedStatement

接口的executeUpdate()或

executeQuery()方法,可以执行

SQL

语句,同时返回执行结果。如果执行的是

executeUpdate()方法,将返回一个

int

值,代表要想数据库记录的行数,即插入、修改、删除记录的行数;如果执行的是

executeQuery()方法,将返回一个ResultSet

的结果集。10.4.4

接受并处理SQL的返回结果

在建立

Connection、Statement、PraparedStatement

和ResultSet

对象时,都需要占用一定的数据库资源和

JDBC

资源,所以每次访问数据库结束后,应该及时关闭这些对象,释放它们占用的资源,方法是通过各个对象的

close()

方法,注意关闭时先关闭

ResultSet

记录集对象,再关闭

Statement

和PraparedStatement

语句对象,最后关闭

Connection

连接对象。10.5.1

建立数据库与数据源10.5

Java访问数据库实例建立数据库建立学生信息表配置数据源231使用

JDBC-ODBC

桥连接某一个数据库的数据源语句如下:

DriverManager.getConnection("jdbc:odbc:stu","'',");不配置数据源,使用JDBC-ODBC

桥连接Access数据库语句如下:DriverManager.getConnection("jdbc:odbc:drive={MicrosoftAccessDriver(*.mdb)};DBQ

=C:\\student.mdb"',""',");返回10.5.2

插入数据10.5

Java访问数据库实例1212通过Statement对象执行SQL语句实现。通过PreparedStatement对象执行带参数的SQL语句实现。

实现数据添加操作采用的方法是:executeUpdate(),

实现数据添加操作使用的SQL语句是insert,语法格式为:insertinto表名(字段1,字段2,···)VALUES(值1,值2,···)JDBC提供实现数据添加的方法10.5.3

删除数据10.5

Java访问数据库实例

实现数据删除操作采用的方法是:executeUpdate(),

实现数据删除操作使用的S

温馨提示

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

评论

0/150

提交评论