书签 分享 收藏 举报 版权申诉 / 52
上传文档赚钱

类型《基于任务驱动模式的Java程序设计》课件第八章.pptx

  • 上传人(卖家):momomo
  • 文档编号:7924409
  • 上传时间:2024-09-04
  • 格式:PPTX
  • 页数:52
  • 大小:803.63KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《基于任务驱动模式的Java程序设计》课件第八章.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于任务驱动模式的Java程序设计 基于 任务 驱动 模式 Java 程序设计 课件 第八
    资源描述:

    1、第一节 JDBC概述JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。JDBC由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。第一节 JDBC概述一、什么是JDBC有了JDBC,程序员只需用JDBC API编写一个程序,它可向相应数据库发送SQL调用,而不必为访问Sybase、Oracle、Informix数据库编写相应的程序。同时,将Jav

    2、a语言和JDBC结合起来可使程序员不必为不同的平台编写不同的应用程序,只需编写一次程序就可以让它在任何平台上运行。这也是Java语言“编写一次,处处运行”的优势。第一节 JDBC概述Java和JDBC的结合,使信息传播变得容易和经济。企业可使用它们安装好的数据库便捷地存取信息(即使这些信息是储存在不同数据库管理系统上),不仅新程序的开发期很短,而且安装和版本控制将大为简化。程序员可只编写一次应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。第一节 JDBC概述JDBC的设计基于

    3、X/Open SQL CLI(Call Level Interface)模型,它通过定义一组API对象和方法同数据库进行交互。第一节 JDBC概述二、JDBC体系结构JDBC体系结构如图8.1所示。Sun Microsystems公司定义了一组管理数据库的驱动接口规范,各DBMS供应商根据Sun Microsystems公司定义的接口规范开发与其相对应的数据库驱动程序,即JDBC底层驱动。在JDBC的使用中,Java应用程序通过调用JDBC API接口,JDBC API接口调用java.sql包中的java.sql.DriverManager接口来处理驱动的调入,并且对产生新的数据库连接提供支

    4、持,然后通过底层的JDBC驱动程序来驱动具体的数据库。第一节 JDBC概述图8.1 JDBC体系结构第一节 JDBC概述简单地说,JDBC的用途如下:(1)与数据库建立连接。(2)发送操作数据库的语句。(3)返回处理结果。下列代码段展示了如上用途:Connection conn=DriverManager.getConnection(jdbc:odbc:zheng,login,password);Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(select*from table);第一节 JDBC概述三、J

    5、DBC的用途目前比较常见的JDBC驱动程序可分为以下四种:(1)JDBC-ODBC桥加ODBC驱动程序。JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。第一节 JDBC概述四、JDBC 驱动程序的类型(2)本地API驱动程序。这种驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其他DBMS的调用。注意,像

    6、桥驱动程序一样,本地API驱动程序要求将某些二进制代码加载到每台客户机上。第一节 JDBC概述(3)JDBC网络纯Java驱动程序。这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上,所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。第一节 JDBC概述(4)本地协议纯Java驱动

    7、程序。这种驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许在客户机上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者将是主要来源。第一节 JDBC概述表8.1给出了这四种类型的驱动程序及其属性。第一节 JDBC概述目前,Microsoft的ODBC API可能是使用最广的、用于访问关系数据库的编程接口。它能在大多数平台上连接不同的数据库。为什么Java不使用ODBC?对这个问题的回答是:Java可以使用ODBC,但最好是在JDBC的帮助下以JDBC-ODBC桥的形式使用。为什么需要JDBC?因为ODBC使用C

    8、语言接口,所以它不适合直接在Java中使用。从Java调用本地C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。从ODBC API到Java API的字面翻译是不可取的。例如,Java没有指针,而ODBC却对指针用得很广泛。可以将JDBC想象成被转换为面向对象接口的ODBC,而面向对象的接口对Java程序员来说易于接受。第一节 JDBC概述五、JDBC与ODBC的比较ODBC把简单功能和高级功能混在一起,而且即使对于简单的查询,其选项也极为复杂。相反,JDBC尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。启用“纯Java”机制需要像JDBC这样的Java API。如果

    9、使用ODBC,就必须手动将ODBC驱动程序管理器和驱动程序安装在每台客户机上。如果完全用Java编写JDBC驱动程序,则JDBC代码在所有Java平台上(从网络计算机到大型机)都可以自动安装、移植并保证安全性。第一节 JDBC概述总之,JDBC API对于基本的SQL抽象和概念是一种自然的Java接口。它建立在ODBC上而不是从零开始。因此,熟悉ODBC的程序员将发现JDBC很容易使用。JDBC保留了ODBC的基本设计特征。事实上,两种接口都基于X/Open SQL CLI(调用级接口)。它们之间最大的区别在于:JDBC以Java风格与优点为基础并进行优化,因此更加易于使用。第一节 JDBC概

    10、述目前,Microsoft又引进了ODBC之外的新API:RDO、ADO和OLE DB。这些设计在许多方面与JDBC是相同的,即它们都是面向对象的数据库接口且可在ODBC上实现的类。但是,对于ODBC之外的这些新API,它们最多也就是在ODBC上加了一层装饰而已。我们尚未发现有什么特别的功能要选择它们来替代ODBC,尤其是在ODBC驱动程序已建立起较为完善的市场的情况下,这种替代更是没有必要。第一节 JDBC概述第二节 JDBC实现数据库操作的方法在程序中实现JDBC需要以下五个步聚:(1)加载驱动程序。(2)建立数据库连接。(3)进行数据库操作,即执行SQL语句,对数据进行增、删、改、查等操

    11、作。(4)处理执行SQL语句的结果。(5)释放声明语句,即关闭连接。加载驱动程序只需要非常简单的一行代码。例如,想要使用 JDBC-ODBC桥驱动程序,可以使用下列代码来加载:/加载oracle驱动Class.forName(oracle.jdbc.driver.OracleDriver);/加载JDBC-ODBC桥驱动Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/加载MS SQL Server驱动Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);第二节 JDBC实现数据库操作的方

    12、法一、加载驱动程序驱动程序文档将告诉程序员应该使用的类名。例如,类名是jdbc.DriverXYZ,则将用以下代码加载驱动程序:Class.forName(jdbc.DriverXYZ);第二节 JDBC实现数据库操作的方法程序员不需要创建一个驱动程序类的实例,并且用DriverManager 登记它,因为调用 Class.forName 将自动加载驱动程序类。如果程序员曾自己创建了实例,则创建了一个不必要的副本,但它不会带来什么坏处。第二节 JDBC实现数据库操作的方法与数据库建立连接,一般调用DriverManager.getConnection()方法。具体代码如下:Connection

    13、 con=DriverManager.getConnection(URL,Username,Password);第二节 JDBC实现数据库操作的方法二、建立数据库连接(1)URL:用于识别不同的数据库,可以使相应的驱动程序识别该数据库并与之建立连接。不同数据库的URL不同,大致如下:Oracle的URL示例:jdbc:oracle:thin:localhost:1521:orcl Access的URL示例:jdbc:odbc:HANFENG SQL Server的URL示例:jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=pubs第二

    14、节 JDBC实现数据库操作的方法 DB2的URL示例:jdbc:db2:/localhost:5000/sample Informix的URL示例:jdbc:informix-sqli:/123.45.67.89:1533/testDB:INFORMIXSERVER=myserver Sybase的URL示例:jdbc:sybase:Tds:localhost:5007/tsdata第二节 JDBC实现数据库操作的方法 MySQL的URL示例:jdbc:mysql:/localhost/softforum?user=soft&password=soft1234&useUnicode=true&

    15、characterEncoding=8859_1 PostgreSQL的URL示例:jdbc:postgresql:/localhost/soft第二节 JDBC实现数据库操作的方法(2)Username:所访问数据库的用户名。(3)Password:所访问数据库用户的密码。第二节 JDBC实现数据库操作的方法JDBC进行数据库操作包括两个步聚:创建声明语句和执行声明语句。第二节 JDBC实现数据库操作的方法三、进行数据库操作(1)创建声明语句。JDBC提供了三个对象用于向数据库发送SQL语句,它们分别是Statement、PreparedStatement、CallableStatement

    16、。Connection接口中的三个方法对应于创建上述三个对象,分别为CreateStatemet、PreparedStatement、PrepareCall。Statement:发送简单的SQL语句。PreparedStatement:发送带有参数的SQL语句。CallableStatement:调用数据库中的存储过程。创建Statement的代码如下:Statement state=con.createStatement();第二节 JDBC实现数据库操作的方法(2)执行声明语句。Statement代表SQL语句的接口,通过executeQuery或executeUpdate方法执行一个静态

    17、的SQL语句。PreparedStatement对象用于发送带有一个或多个输入参数的SQL语句,并且它经过预编译,效率要比使用Statement对象高。CallableStatement对象用于执行SQL存储程序。SQL存储程序是一组可通过名称来调用的SQL语句。第二节 JDBC实现数据库操作的方法例如:ResultSet rs=state.executeQuery(select*from StudentInfo);执行insert、update、delete操作数据库数据用executeUpdate()方法。例如:String sql=INSERT INTO StudentInfo VALU

    18、ES(2014001001,zhangsan,CS)int i=stmt.executeUpdate(sql);第二节 JDBC实现数据库操作的方法executeUpdate()方法执行的返回值为一个int值,它代表操作所影响的记录行数。第二节 JDBC实现数据库操作的方法四、处理执行SQL语句的结果ExecuteQuery()方法执行完毕之后,将会返回一个结果集,ResultSet接口用于处理执行select语句的查询结果。Statement.executeQuery方法把查询结果返回到ResultSet对象中;Java.sql.ResultSet接口用于维护查询得到的一张视图表,它提供了许

    19、多操作表记录的方法。ResultSet对象的最初位置在行首。ResultSet.next()方法用于移动到下一行。ResultSet.getXXX()方法用于取得当前记录指定字段的内容。比如,使用getInt()可以得到整型字段的内容,使用getString()可以得到字符串型字段的内容。第二节 JDBC实现数据库操作的方法释放声明语句关闭数据库的连接。关闭顺序为:先rs,再state,最后conn,即rs.close();state.close();conn.close();一般可以在finally语句中实现关闭。第二节 JDBC实现数据库操作的方法五、释放声明语句第三节 Statement

    20、接口详解实现对数据库的一般查询用Statement,但JDBC在编译时并不对将要执行的SQL查询语句作任何检查,只是将其作为一个String类对象,直到驱动程序执行SQL查询语句时才知道其是否正确。对于错误的SQL查询语句,在执行时将会产生SQLException。一个Statement对象在同一时间只能打开一个结果集,对第二个结果集的打开隐含着对第一个结果集的关闭。如果想对多个结果集同时操作,必须创建出多个Statement对象,在每个Statement对象上执行SQL查询语句以获得相应的结果集。如果不需要同时处理多个结果集,则可以在一个Statement对象上顺序执行多个SQL查询语句,对

    21、获得的结果集进行顺序操作。第三节 Statement接口详解例如:Statement stmt=con.createStatement();/创建Statement对象Statement接口提供了三种执行SQL语句的方法:executeQuery()、executeUpdate()和execute()。具体使用哪个方法由SQL 语句本身来决定。第三节 Statement接口详解其常用方法如表8.2所示。第三节 Statement接口详解第四节 数据库连接实例【示例8.1】连接MySQL数据库。/加载驱动程序并初始化Class.forName(com.mysql.jdbc.Driver);/声明

    22、数据库连接URLString url=jdbc:mysql:/localhost:3306/user;/根据已有信息连接数据库Connection con=DriverManager.getConnection(url,root,root);stat=con.createStatement();String sql=SELECT*FROM STUDENT;第四节 数据库连接实例一、连接MySQL数据库/执行SQL语句并获得返回值res=stat.executeQuery(sql);while(res.next()System.out.println(学生姓名:+res.getString(NA

    23、ME);System.out.println(学生年龄:+res.getInt(AGE);System.out.println(学生性别:+res.getString(SEX);第四节 数据库连接实例【示例8.2】连接Oracle数据库。public static Connection getConn()Connection conn=null;String url=jdbc:oracle:thin:localhost:1521:databasename;String user=sa;String password=sa;第四节 数据库连接实例二、连接Oracle数据库 try Class.f

    24、orName(oracle.jdbc.driver.OracleDriver).newInstance();conn=DriverManager.getConnection(url,user,password);catch(Exception e)/TODO:handle exception e.printStackTrace();第四节 数据库连接实例 System.out.println(数据库连接失败);return conn;第四节 数据库连接实例【示例8.3】连接SQL Server数据库。public class JDBCDemo private String dbURL;/数据库

    25、标识名 private String user;/数据库用户 private String password;/数据库用户密码 public Connection getConnection()第四节 数据库连接实例三、连接SQL Server数据库 try /加载数据库驱动程序 Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);return DriverManager.getConnection(dbURL,user,password);catch(Exception e)第四节 数据库连接实例 System.out.pr

    26、intln(e.toString();return null;public void setURL(String dbURL)this.dbURL=dbURL;/设置数据库标识 第四节 数据库连接实例 public void setUser(String user)this.user=user;/设置当前用户 public void setPassword(String password)this.password=password;/设置用户密码 第四节 数据库连接实例 public void setUser(String user)this.user=user;/设置当前用户 public

    27、 void setPassword(String password)this.password=password;/设置用户密码 public static void main(String args)第四节 数据库连接实例 try JDBCDemo driver=new JDBCDemo();driver.setURL(jdbc:microsoft:sqlserver:/192.168.28.129:1433;DatabaseName=student);driver.setUser(sa);driver.setPassword(sa);Connection con=driver.getConnection();/得到数据库连接 System.out.println(con.getCatalog();/打印当前数据库目录名称 con.close();第四节 数据库连接实例 catch(Exception e)System.out.println(e.toString();第四节 数据库连接实例

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《基于任务驱动模式的Java程序设计》课件第八章.pptx
    链接地址:https://www.163wenku.com/p-7924409.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库