版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java2程序设计实用教程第2版,叶核亚,Java2程序设计实用教程 (第2版),第1章 Java概述 第2章 Java语言基础 第3章 面向对象的核心特性 第4章 接口、内部类和包 第5章 异常处理 第6章 图形用户界面 第7章 多线程 第8章 Applet应用程序 第9章 输入/输出流和文件操作 第10章 网络通信 第11章 数据库应用 第12章 JSP 第13章 综合应用设计,Java2程序设计实用教程(第2版),第11章 数据库应用,11.1 关系数据库系统 11.2 结构化查询语言SQL 11.3 JDBC,Java2程序设计实用教程(第2版),11.1 关系数据库系统,11.1.1
2、 数据库系统 11.1.2 关系模型 11.1.3 客户-服务器结构的关系数据库系统 11.1.4 使用Access数据库 11.1.5 使用SQL Server数据库,Java2程序设计实用教程(第2版),11.1.1 数据库系统,数据库系统概念 数据库 数据库管理系统 数据库系统 数据描述中的术语 实体、实体集、实体的属性 数据模型 数据结构、数据操作和数据完整性约束,Java2程序设计实用教程(第2版),11.1.2 关系模型,关系模型的数据结构 关系:二维表、列、行。 关系的性质 主键与外键 关系模式 关系(列,列) 例如,学生(学号,姓名,性别,省份,地区,出生年月,民族,团员) 课
3、程(课程号,课程名,学分,学时) 学生成绩(学号,课程号,成绩),Java2程序设计实用教程(第2版),11.1.2 关系模型,关系模型的数据操纵 关系模型的数据完整性规则 实体完整性规则 参照完整性规则 用户定义的完整性规则 CHECK(AGE BETWEEN 15 AND 30),Java2程序设计实用教程(第2版),11.1.3 客户-服务器结构的关系数据库系统,数据库的结构与功能分布 数据库结构 图11.1 基于网络、具有客户-服务器结构的关系数据库系统,Java2程序设计实用教程(第2版),数据库功能分布,图11.2 客户-服务器结构的数据库系统的功能分布,Java2程序设计实用教程
4、(第2版),11.1.3 客户-服务器结构的关系数据库系统,数据库连接 数据库连接技术分类 ODBC 数据库应用程序,Java2程序设计实用教程(第2版),11.1.4 使用Access数据库,Access数据库的操作 【例11.1】 使用Access数据库创建student数据库及表。 创建Access数据库文件,数据库文件名为student.mdb。 创建表 输入数据 配置ODBC数据源,Java2程序设计实用教程(第2版),11.1.5 使用SQL Server数据库,安装Microsoft SQL Server 2000 SQL Server服务管理器 企业管理器 创建数据库 创建表
5、为指定表添加数据 创建表的关系图 设置数据库管理员sa的身份 查询分析器,Java2程序设计实用教程(第2版),11.2 结构化查询语言SQL,11.2.1 SQL概述 11.2.2 数据定义 11.2.3 数据更新 11.2.4 数据查询,Java2程序设计实用教程(第2版),11.2.1 SQL概述,SQL数据库的体系结构 SQL的特点与组成 表11.3 SQL语言的动词 SQL语言的使用方式,Java2程序设计实用教程(第2版),11.2.2 数据定义,创建基本表 CREATE TABLE 基本表 (列 数据类型 列级完整性约束 ,列 数据类型 列级完整性约束 ,表级完整性约束) CRE
6、ATE TABLE stuinfo (stu# varchar(10) NOT NULL UNIQUE, stu_name varchar(10), sex varchar(2), province varchar(10), area varchar(10), birthday datetime, nation varchar(10) DEFAULT 汉, member bit, PRIMARY KEY(stu#),Java2程序设计实用教程(第2版),11.2.2 数据定义,修改基本表 ALTER TABLE 基本表 ADD 新列 数据类型 列级完整性约束 MODIFY 列 数据类型 DRO
7、P 完整性约束 ALTER TABLE stuinfo ADD department varchar(20) 删除表 DROP TABLE 表,Java2程序设计实用教程(第2版),11.2.3 数据更新,插入数据 INSERT INTO 基本表 (列1, 列2) VALUES(值1, 值2) 例如, INSERT INTO stuinfo VALUES (98111001, 蔡尧强, 男, 浙江, 金华, 1980-1-20, 汉, 1, NULL) INSERT INTO stuinfo (stu#, stu_name) VALUES (98111041, 李伟),Java2程序设计实用教
8、程(第2版),11.2.3 数据更新,修改数据 UPDATE 基本表 SET 列 = 表达式,列 = 表达式 WHERE 条件表达式 例如, UPDATE stuinfo SET sex = 男, province = 江苏, area = 南京, WHERE stu# = 98111041 删除数据 DELETE FROM 表 WHERE 条件表达式,Java2程序设计实用教程(第2版),11.2.4 数据查询,SELECT语句语法 SELECT ALL | DISTINCT 列表达式 ,列表达式 FROM 表 WHERE 条件表达式 GROUP BY 列 HAVING 条件表达式 ORDE
9、R BY 列 ASC|DESC 运算符 =、= 、AND、OR 、LIKE 集函数 AVG( ALL | DISTINCT 列名) COUNT(*)、COUNT(列名) SUM(列名) 、MAX(列名)、MIN(列名),Java2程序设计实用教程(第2版),11.3 JDBC,11.3.1 JDBC的作用和功能 11.3.2 指定JDBC驱动程序 11.3.3 连接数据库 11.3.4 执行SQL语句 11.3.5 处理数据查询的结果集,Java2程序设计实用教程(第2版),11.3.1 JDBC的作用和功能,什么是JDBC JDBC(Java DataBase Connectivity,Ja
10、va数据库连接)是基于Java的、用于访问关系数据库的应用程序编程接口。 JDBC驱动程序类型 JDBC-ODBC桥驱动程序 本地库Java实现驱动程序 网络协议驱动程序 数据库协议驱动程序,Java2程序设计实用教程(第2版),图11.16 JDBC驱动程序类型及其工作原理,Java2程序设计实用教程(第2版),3. JDBC API的基本功能、组成和工作原理,图11.17 JDBC API的组成和工作原理,Java2程序设计实用教程(第2版),11.3.2 指定JDBC驱动程序,选择和安装JDBC驱动程序 安装Microsoft SQL Server 2000 JDBC驱动程序 为JDK在
11、环境变量classpath中添加路径 在JCreator中添加路径 在应用程序中指定JDBC驱动程序 public static Class forName(String className) throws ClassNotFoundException 例如, Class.forName(“sun.jdbc.odbc.JdbcOdcDriver”); Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);,Java2程序设计实用教程(第2版),11.3.3 连接数据库,DriverManager类创建与指定数据库连接 pub
12、lic class DriverManager public static Connection getConnection(String url, String user, String password) throws SQLException public static Connection getConnection(String url) throws SQLException 例如, Connection connection = DriverManager.getConnection(jdbc:odbc:student_access); Connection connection
13、 = DriverManager.getConnection( jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=student, sa, yeheya);,Java2程序设计实用教程(第2版),2. Connection接口管理连接对象,public interface Connection Statement createStatement() throws SQLException; /创建执行SQL的语句对象 Statement createStatement(int resultSetType, int resultSetC
14、oncurrency) throws SQLException; /参数指定结果集属性 void close() throws SQLException; /关闭数据库连接 boolean isClosed() throws SQLException; /判断数据库连接是否已关闭 DatabaseMetaData getMetaData() throws SQLException; /获取所连接数据库的元数据 ,Java2程序设计实用教程(第2版),3. DatabaseMetaData接口获得数据库元数据,public interface DatabaseMetaData String ge
15、tURL() throws SQLException; /返回连接数据库的URL String getUserName() throws SQLException; /返回数据库的用户名 String getDatabaseProductName() throws SQLException; /返回数据库名称 String getDatabaseProductVersion() throws SQLException;/返回数据库版本号 String getDriverName() throws SQLException; /返回驱动程序名称 String getDriverVersion()
16、 throws SQLException; /返回驱动程序版本号 ,Java2程序设计实用教程(第2版),【例11.2】 连接指定数据库并获得数据库属性信息。,数据库操作类 GetDBMessage类,Java2程序设计实用教程(第2版),11.3.4 执行SQL语句,Statement接口及其方法声明如下: public interface Statement int executeUpdate(String sql) throws SQLException; /执行数据定义和数据更新SQL语句 ResultSet executeQuery(String sql) throws SQLExc
17、eption;/执行数据查询SQL语句 boolean execute(String sql) throws SQLException; /执行SQL语句 int getUpdateCount() throws SQLException; /获得数据更新所影响的行数 ResultSet getResultSet() throws SQLException; /获得数据查询结果集 void close() throws SQLException; /关闭语句 ,Java2程序设计实用教程(第2版),11.3.4 执行SQL语句,执行数据定义和数据更新SQL语句 Statement stateme
18、nt = connection.createStatement(); String sql = INSERT INTO stuinfo (stu#, stu_name) VALUES (98111041, 李伟); int result = statement.executeUpdate(sql); /执行成功时返回影响的行数1 执行数据查询SQL语句 String sql = SELECT * FROM stuinfo ; ResultSet resultset = statement.executeQuery(sql); 执行SQL语句 调用execute()方法执行SQL语句; 调用ge
19、tResultSet()方法获得数据查询结果集 调用getUpdateCount()方法获得数据更新所影响的行数。,Java2程序设计实用教程(第2版),11.3.5 处理数据查询的结果集,ResultSet接口存储结果集 当前行 int getRow() throws SQLException; /获得当前行位置 boolean next() throws SQLException; /设置当前行的后一行成为新的当前行 获得当前行指定列的数据项值 Object getObject(int columnIndex) throws SQLException; Object getObject(S
20、tring columnName) throws SQLException; String getString(int columnIndex) throws SQLException; String getString(String columnName) throws SQLException; 例如, while(resultset.next() System.out.println(resultset.getString(1); /获得当前行指定列的值,Java2程序设计实用教程(第2版),2. ResultSetMetaData接口从结果集中获得元数据,public interfac
21、e ResultSetMetaData int getColumnCount() throws SQLException; /返回列数 String getColumnName(int column) throws SQLException; /返回列名 String getColumnTypeName(int column) throws SQLException; /返回列数据类型名 int getColumnDisplaySize(int column) throws SQLException; /返回列所占的最大字符宽度 例如, ResultSetMetaData rsmd = resultset.getMetaData(); /返回元数据对象 int columnCount = rsmd.getColumnCount(); /获
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政府采购质疑管理制度
- 采购补料制度模板范本
- 西安电影集团采购制度
- 学校采购管理制度
- 学校酒水采购管理制度
- 商务采购部规章制度
- 政府采购药物谈判制度
- 交通局物品采购管理制度
- 采购行业管理制度
- 数据中心采购制度
- 2026浙江温州市公安局招聘警务辅助人员42人笔试参考题库及答案解析
- 2026广东茂名市公安局招聘警务辅助人员67人考试参考题库及答案解析
- 2026年希望杯IHC全国赛二年级数学竞赛试卷(S卷)(含答案)
- 中国抗真菌药物临床应用指南(2025年版)
- 2025-2026 学年下学期八年级英语下册教学计划
- 幼儿园春季育儿知识分享:守护成长健康同行
- 2026年六安职业技术学院单招职业适应性考试题库附答案详解(预热题)
- 2025年安徽审计职业学院单招职业适应性测试试题及答案解析
- 2026年春节后复工复产“开工第一课”安全生产培训课件
- 玉石之分-课件.正式
- SMT炉后检查作业指导书V1.0
评论
0/150
提交评论