




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java面向对象
程序设计基础教程河南大学计算机与信息工程学院目录第1章Java语言概述第2章Java基本语法规则第3章Java中的面向对象技术第4章Java基本结构程序第5章Java基本类第6章图形用户界面第7章异常处理第8章多线程第9章JavaApplet程序第10章输入输出流与文件处理第11章Java网络编程第12章数据库应用3
数据库技术有效地管理和存取大量的数据资源。数据库存储的是通用化的相关数据集合,不仅包括数据本身,而且包括数据之间的联系。
Java提供JDBCAPI支持数据库应用,JDBC(Java数据库连接)是基于Java的、用于访问关系数据库的应用程序编程接口。
JDBC提供多种数据库驱动程序类型,提供执行SQL语句来操纵关系数据库的方法,使Java应用程序具有访问不同类型数据库的能力。第12章数据库应用4第12章数据库应用12.1数据库技术12.2JDBC512.1数据库技术数据库(DataBase,DB):长期存储在计算机外存上的、有结构的、可共享的数据集合。数据库中的数据按一定的数据模型描述、组织、存储,具有较小的冗余度、较高的数据独立性和易扩展性,可为不同的用户共享。数据库系统(DataBaseSystem,DBS):采用了数据库技术的计算机系统,包括数据库、数据库管理系统(DBMS)、应用程序、数据库管理员(DBA)和用户。612.1数据库技术结构化查询语言(StructuredQueryLanguage):关系数据库的标准语言,提供数据定义、数据查询、数据操作和数据控制功能,具有综合统一、高度非过程化、面向集合等特点。表SQL语言的动词SQL功能动词说明数据定义CREATE、DROP、ALTER创建表、删除表、修改表数据操纵INSERT、UPDATE、DELETE插入、更新、删除数据查询SELECT查询数据控制GRANT、REVOKE授予权限、收回权限712.1数据库技术MySQL是Sun公司推出的一种C/S结构的数据库。下载MySQL数据库服务端(MySQLCommunityServer)mysql-essential-5.1.43-win32.msi文件下载JDBC驱动程序(MySQLConnector/J)mysql-connector-java-5.0.8.bin文件MySQL设置3306端口提供数据库服务演示:1.安装MySQL服务器端2.安装MySQL客户端Navicat812.2JDBC12.2.1JDBC的作用和功能12.2.2指定JDBC驱动程序12.2.3连接数据库12.2.4执行SQL语句12.2.5处理数据查询的结果集912.2.1JDBC的作用和功能1.什么是JDBC1996年,Sun推出了JDBC,将Java的应用范围扩展到了数据库技术领域,使Java的应用程序具有访问不同类型数据库的能力。JDBC(JavaDataBase
Connectivity,Java数据库连接):基于Java的,提供连接、访问和操纵关系数据库的应用程序接口(API),JDBC提供在Java应用程序中执行SQL语句以访问和操纵关系数据库的方法。1012.2.1JDBC的作用和功能1.什么是JDBCJDBC是一种数据库连接和访问标准:一方面:Java语言增加了JDBCAPI,其中包括多个用于访问数据库的接口;另一方面:目前大多数主流数据库都支持JDBC,推出了各自的JDBC驱动程序,每个驱动程序都实现了JDBCAPI中声明的接口。
JDBC既实现了应用程序与数据库的连接,又实现了数据独立性,使应用程序具有很好的可移植性,一份应用程序可应用于不同类型的数据库。1112.2.1JDBC的作用和功能2.JDBC的基本功能、组成和工作原理JDBCAPI基本功能包括:(1)指定JDBC驱动程序类型,并建立与指定数据库的连接;(2)执行SQL语句并处理结果。(3)获得所连接数据库的各种信息,包括驱动程序、数据库、表、列的属性等。【补充】连接指定数据库MySQL,并获得数据库属性信息。GetDBAbout.java1212.2.1JDBC的作用和功能2.JDBC的基本功能、组成和工作原理为实现执行SQL语句功能,要用到java.sql包中最主要的4个接口或类:DriverManager类:管理驱动程序并创建数据库连接Connection接口:管理已建立的数据库连接Statement接口:管理和执行SQL语句ResultSet接口:存储数据查询返回的结果集。1312.2.1JDBC的作用和功能DriverManager(驱动程序管理器)Connection(连接)Statement(语句)ResultSet(结果集)JDBC驱动程序表生成生成生成建立与数据库的连接图JDBC的组成和工作原理1412.2.1JDBC的作用和功能2.JDBC的基本功能、组成和工作原理
Java的接口机制是分隔方法声明与方法实现细节的最好机制,接口机制的优点在JDBCAPI中得到充分体现。JDBCAPI声明了多个接口提供给应用程序使用,但是这些接口的实现却不是应用程序所能完成的,必须由JDBC驱动程序完成。
不同的JDBC驱动程序实现了相同的接口,虽然实现细节不同,但是提供了相同的方法。JDBC驱动程序必须实现的4个主要接口是:
Driver、Connection、Statement和ResultSet。Driver接口是提供给JDBC驱动程序实现的接口,用于装入和管理JDBC驱动程序。1512.2.1JDBC的作用和功能2.JDBC的基本功能、组成和工作原理JDBC数据库应用程序设计与普通Java应用程序设计的不同之处:不能直接调用new运算符创建JDBCAPI中类的实例,而由指定类的方法创建另一个类的实例。Connection、Statement、ResultSet等接口已由指定JDBC驱动程序实现,因此数据库应用程序中可以直接声明
这些接口的变量作为类的实例使用。1612.2.2指定JDBC驱动程序1.选择和安装JDBC驱动程序JDBC-ODBC桥驱动程序类是sun.jdbc.odbc.JdbcOdbcDriver,由JDK默认安装,包含在JDK安装路径\jdk1.6.0_14\jre\lib\rt.jar中,故而运行基于JDBC-ODBC桥的应用程序时不需要特别安装和设置,其它三种JDBC驱动程序需要特别安装和设置。1712.2.2指定JDBC驱动程序2.Eclipse中添加MySQLJDBC驱动程序包EclipseProject视图(即包资源管理器)->对选中项目按右键选择BuildPath(构建路径)->ConfigBuildPath(配置构建路径)在项目属性对话框的Libraries(库)页,单击”AddExternalJARs…(添加外部JAR(X))”按钮,在随后弹出的JARSelection对话框中,选择MySQLJDBC驱动程序解压文件夹中的mysql-connector-5.1.10-bin.jar,然后单击确定按钮,添加成功。演示:3.安装JDBC驱动程序4.在Eclipse中添加MySQLJDBC驱动程序包;1812.2.2指定JDBC驱动程序java.lang.Class类的forName()方法用于指定JDBC驱动程序类型:
publicstaticClass<?>forName(StringclassName)throwsClassNotFoundException3.在应用程序中指定JDBC驱动程序为MySql数据库指定JDBC桥驱动程序:Class.forName(“com.mysql.jdbc.Driver”);为SQLServer数据库指定JDBC桥驱动程序:Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
19操作演示:1.安装MySQL服务器端2.安装MySQL客户端Navicat3.安装JDBC驱动程序(JDBC-ODBC桥驱动程序由JDK默认安装)4.在Eclipse中添加MySQLJDBC驱动程序包;5.在客户端navicat中创建连接->创建数据库->创建表;6.编写数据库相关程序:1)在应用程序中指定JDBC驱动程序;2)在应用程序中编程进行有关数据库操作。
2012.2.3连接数据库1.DriverManager类创建与指定数据库连接DriverManager类用于管理驱动程序和创建数据库连接;getConnection方法提供装入指定JDBC驱动程序并创建与指定数据库连接的操作。publicstaticsynchronizedConnection
getConnection(Stringurl,Stringuser,Stringpassword)throwsSQLExceptionpublicstaticsynchronizedConnection
getConnection(Stringurl)throwsSQLExceptionurl指定JDBC数据源的URL,user指定访问数据库的用户名,password指定用户密码;2112.2.3连接数据库1.DriverManager类创建与指定数据库连接JDBC使用URL表示JDBC驱动程序和数据源的位置。JDBC的URL格式:jdbc:子协议:数据源<jdbc>表示这个URL指定一个JDBC数据源,<子协议>指定JDBC驱动程序类型,<数据源>指定数据源名。例如:下列语句返回创建的一个数据库连接对象,其中参数指定JDBC桥驱动程序、访问Access数据库的数据源student_access。Connectionconnection1=DriverManager.
getConnection("jdbc:odbc:student_access");2212.2.3连接数据库1.DriverManager类创建与指定数据库连接例如:下列语句返回创建的一个数据库连接对象,其中参数指定SQLServerJDBC驱动程序、数据源为“//localhost:1433;DatabaseName=student”、用户名为“sa”、用户密码为“yeheya”。
Connectionconnection2=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;
DatabaseName=student","sa","yeheya“);2312.2.3连接数据库2.Connection接口管理连接对象
Connection接口负责管理Java应用程序和数据库之间的连接。一个Connection对象表示对一个特定数据源已经建立的一条连接,它能够创建执行SQL的Statement语句对象,还能提供数据库中的属性信息。2412.2.3连接数据库2.Connection接口管理连接对象
Statement
createStatement()throwsSQLException; //创建执行SQL的语句对象Statement
createStatement(intresultSetType,intresultSetConcurrency)throwsSQLException;
//参数指定结果集属性voidclose()throwsSQLException;//关闭数据库连接booleanisClosed()throwsSQLException;
//判断数据库连接是否已关闭DatabaseMetaData
getMetaData()throws SQLException;
//获取所连接数据库的元数据
Statementstatement=connection.createStatement();DatabaseMetaDatadbmd=connection.getMetaData();2512.2.3连接数据库3.DatabaseMetaData接口获得数据库元数据
DatabaseMetaData接口:管理通过Connection对象连接的数据库的属性信息(称为元数据)。publicinterfaceDatabaseMetaData{StringgetURL()throwsSQLException;
//返回连接数据库的URLStringgetUserName()throwsSQLException;
//返回数据库的用户名StringgetDatabaseProductName()throwsSQLException; //返回数据库名称2612.2.3连接数据库3.DatabaseMetaData接口获得数据库元数据
StringgetDatabaseProductVersion()throwsSQLException; //返回数据库版本号StringgetDriverName()throwsSQLException;
//返回驱动程序名称StringgetDriverVersion()throwsSQLException;
//返回驱动程序版本号}【例12.1】初识Java数据库应用程序。StudentTest.java
2712.2.4执行SQL语句Statement接口管理和执行SQL语句,ResultSet接口存储数据查询返回的结果集。publicinterfaceStatement{
intexecuteUpdate(Stringsql)throwsSQLException;
//执行数据定义和数据更新SQL语句
ResultSet
executeQuery(Stringsql)throwsSQLException;
//执行数据查询SQL语句
boolean
execute(Stringsql)throwsSQLException; //执行SQL语句2812.2.4执行SQL语句
int
getUpdateCount()throwsSQLException; //获得数据更新所影响的行数
ResultSet
getResultSet()throwsSQLException; //获得数据查询结果集void
close()throwsSQLException;//关闭语句}【例12.2】将数据库应用中的不同逻辑封装到不同的类。
Student.javaDBConn.java2912.2.4执行SQL语句1.执行数据定义和数据更新SQL语句调用executeUpdate()方法可执行数据定义和数据更新的SQL语句。执行数据定义的SQL语句,用于创建和修改临时表,没有返回值;执行数据更新的SQL语句,包括INSERT、UPDATE、DELETE语句,返回执行所影响的行数。3012.2.4执行SQL语句1.执行数据定义和数据更新SQL语句例如:下列语句执行Insert语句插入一行数据Statementstatement=connection.createStatement();
//创建执行SQL语句的Statement对象Stringsql="INSERTINTOstuinfo(stu#,stu_name)VALUES('98111041','李伟')";intresult=statement.executeUpdate(sql); //执行成功时返回影响的行数1【例12.2】1.向数据库里插入一条Name为Tom,A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AP微积分BC2024-2025年真题试卷(积分级数高级问题解析)
- 2025年执业医师资格考试临床类别实践技能模拟试卷(病史采集与查体)-临床医学跨学科融合
- SQL查询性能提升方法试题及答案
- 福建省福州市八县(市)2017-2018学年高二上学期期中联考试题文(生物)
- 安徽省阜阳一中2013-2014学年高二上学期期末考试英语试题含听力
- IB课程HL化学2024-2025年模拟试卷:有机化学基础与高级反应技巧
- 房地产估价师职业资格考试2025年理论与方法模拟试卷:深度分析与实战技巧
- 产科护理带教体系构建
- A-Level数学(PureMath1)2024-2025年度期中测试卷:函数与三角函数难点解析
- 广东省深圳高级中学2017届高三上学期第三次月考理综-化学试题
- 《干细胞疗法简介》课件
- 《基于PLC的立式车床控制系统设计》13000字(论文)
- 保护耕地与粮食安全
- 新活素的临床应用
- 出口海运操作流程
- 2025年春季学期1530学生安全教育记录表
- 《相变储热供暖工程技术标准》
- 《消防检查指导手册》(2024版)
- 一例恙虫病患者护理查房
- GB/T 44962-2024粮油机械小麦剥皮机
- 《宿舍楼安全评价》文档版
评论
0/150
提交评论