当前位置:文档之家› JSP数据库操作详解

JSP数据库操作详解

30
7.4.2 驱动程序管理器DriverManager java.sql.DriverManager类负责管理JDBC驱动程 序的基本服务,是JDBC的管理层,作用于用户和驱 动程序之间,负责跟踪可用的驱动程序,并在数据库 和驱动程序之间建立连接。另外,DriverManager类 也处理诸如驱动程序登录时间限制及登录和跟踪消息 的显示等工作。成功加载Driver类并在 DriverManager类中注册后,DriverManager类即可 用来建立数据库连接。
驱动程序层
数据库
数据库
数据库
27
7.4 JDBC的常用接口
28
7.4 JDBC中的常用接口
驱动程序接口Driver 驱动程序管理器DriverManager 数据库连接接口Connection 执行SQL语句接口Statement 执行动态SQL语句接口PreparedStatement 执行存储过程接口CallableStatement 访问结果集接口ResultSet
7
SQL命令的分类
1.
2.
3.
SQL命令可以分成以下三类: DML(Data Manipulation Language,数据操 作语言):用于检索或修改数据。 DDL(Data Definition Language,数据定义语 言): 用于定义数据的结构,例如, 创建、修改 或删除数据库对象。 DCL(Data Control Language,数据控制语 言):用于定义数据库用户的权限。
命令格式: insert into 表名(列名列表) values (值列表) 实例:

use Clients --指明数据库 insert into OrderClient( ClientName,AddressStr,PostCode,Telephone,Email)
Values('张三','某省某市某街道某某号', '100081','12345678','SomeOne@');

13
Select:选择数据
这是最灵活的SQL命令,有许多用法,最基本的格 式为: select 表名.列名 from 表名列表 where 满足条件 上述基本格式还有许多变化,例如可以使用select命 令进行排序和分组等。

14
三种基本关系数据操作

选择:用于选中满足某种条件的数据 投影:只显示记录中的部分字段
URL的格式为:jdbc: subprotocol: subname
33
String url=“jdbc:mysql://localhost/test?user=root& password=123456”;
方法名称 功能描述 为静态方法,用来获得数据库连接,有3个 入口参数,依次为要连接数据库的URL、 用 户名和密码,返回值类型为 java.sql.Connection 为静态方法,用来设臵每次等待建立数据 库 连接的最长时间
31
当调用DriverManager类的getConnection()方法 请求建立数据库连接时,DriverManager类将试图 定位一个适当的Driver类,并检查定位到的Driver 类是否可以建立连接。如果可以,则建立连接并返 回,如果不可以,则抛出SQLException异常。 getConnection()方法有以下3种不同的函数重载形 式: static Connection getConnection(String url) 和一个通过URL指定的数据库建立连接。
25
JDBC是一种底层API,在访问数据库时需要在业 务逻辑中直接嵌入SQL语句。由于SQL语句是面向 关系的,依赖于关系模型,所以JDBC传承了简单直 接的优点,特别是对于小型应用程序十分方便。 需要注意的是,JDBC不能直接访问数据库,必须 依赖于数据库厂商提供的JDBC驱动程序,通常情况 下使用JDBC完成以下操作: (1)同数据库建立连接; (2)向数据库发送SQL语句; (3)处理从数据库返回的结果。
16
使用视图
视图可以当成一个表一样用。 实例:

use happybookshop select * from BookNameAndBookRemark
17
存储过程
存储过程类似于传统编程语言中的“函数”。它是一 组SQL命令的集合。 基本格式: create procedure 存储过程名(参数列表) as begin - -各种SQL语句 end;
七 JSP数据库操作
7.1 数据库技术概论
什么是数据库?
通俗地说,数据库就是用于集中存放大量信息的一 种软件,这种软件提供了非常强大的功能来管理数据, 如信息的查询、修改、增加、删除等。 数据库是非常复杂的软件系统,其复杂程度甚至可比 操作系统。将实现数据库功能的软件称为DBMS (Database Management System,数据库管理系 统)。
Book术面试心得'
注意:三种操作可以自由组合
15
视图


视图是一个虚拟表,可以与真实的表一样使用。其不同之处在 于:它的数据是在使用时临时通过执行SQL命令获取的。 基本格式: create view 视图名称 as seletct语句 实例:
Create view BookNameAndBookRemark as select Book.BookName,BookRemark.RemarkContent from Book,BookRemark where Book.BookID=BookRemark.BookID
7.4.1 驱动程序接口Driver
每种数据库的驱动程序都应该提供一个实现 java.sql.Driver接口的类,简称Driver类,在加载Driver类 时,应该创建自己的实例并向java.sql.DriverManager类注 册该实例。 通常情况下通过ng.Class类的静态方法 forName(String className),加载要连接数据库的Driver 类,该方法的入口参数为要加载Driver类的完整包名。成功 加载后,会将Driver类的实例注册到DriverManager类中, 如果加载失败,将抛出ClassNotFoundException异常,即未 找到指定Driver类的异常。
11
Update:更新数据
基本格式 update 表名 set 字段名=“字段新值” where 满足条件 实例

update OrderClient set AddressStr='无有国乌有省没有市虚空街' Where ClientName='张三';
12
Delete:删除数据
格式: delete from 表名 where 满足条件 实例: delete from OrderClient where ClientName='张三';
select ClientName,AddressStr from OrderClient
select * from OrderClient where ClientName Like '张%'


连接:从两个以上的表中提取记录
use HappyBookShop
select Book.BookName,BookRemark.RemarkContent from Book,BookRemark where Book.BookID=BookRemark.BookID And
32
static Connection getConnection(String url,Properties info) 和一个通过URL指定的数据库建立连接,info提供了一些属性, 这些属性里包括了user和password等属性。
static Connection getConnection(String url,String user,String password) 传入参数用户名为user,密码为password,和一个通过URL 指定的数据库建立连接。
返回一个给定列中最大的数值 返回一个给定列中所有数值的总和 返回一个给定列中所有数值的平均值 返回一个给定列中所有数值的个数 返回一个表中的行数
聚集函数使用示例——统计姓张的客户数量 select count(*) from orderClient where ClientName Like '张'+'%';
getConnection(String url, String user, String password)
setLoginTimeout(int seconds)
setLogWriter(java.io.Print 为静态方法,用来设臵日志的输出对象 Writer out) println(String message)
26
结果集 (ResultSet) PreparedStatement
结果集 (ResultSet) Statement Connection
结果集 (ResultSet) CallableStatement 应用层
驱动程序管理器(Drvier Manager) Driver Oracle Driver JDBC-ODBC Bridge MySQL Driver
为静态方法,用来输出指定消息到当前的 JDBC日志流
34
7.4.3 数据库连接接口Connection
java.sql.Connection接口负责与特定数据库的连接,在连 接的上下文中可以执行SQL语句并返回结果,还可以通过 getMetaData()方法获得由数据库提供的相关信息,例如数 据表、存储过程和连接功能等信息。
相关主题