JavaOOP第04章深入JDBC.ppt_第1页
JavaOOP第04章深入JDBC.ppt_第2页
JavaOOP第04章深入JDBC.ppt_第3页
JavaOOP第04章深入JDBC.ppt_第4页
JavaOOP第04章深入JDBC.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

深入JDBC,Java高级编程 第四章,课程目标,掌握JDBC的工作原理 掌握如何获取数据库连接 掌握如何对数据进行增、删、改、查 掌握元数据 掌握对结果集操作的方法,JDBC概念,JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力,Java应用程序,JDBC,JDBC,JSP/Servlet,客户端,数据库服务器,应用服务器,数据库服务器,客户端,JDBC程序的工作原理,JDBC API 提供者:sun公司 内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中,如: DriverManager类 Connection接口 Statement接口 ResultSet接口 DriverManager 提供者:sun公司 作用:载入各种不同的JDBC驱动 JDBC 驱动 提供者:数据库厂商 作用:负责连接各种不同的数据库,Sql Server,Oracle,JDBC API,JDBC Driver Manager,JDBC 驱动,JDBC 驱动,Java 应用程序,JDBC API,JDBC API可做三件事:与数据库建立连接、执行SQL 语句、处理结果,Connection,DriverManager,Statement,ResultSet,DriverManager :依据数据库的不同,管理JDBC驱动 Connection :负责连接数据库并担任传送数据的任务 Statement :由 Connection 产生、负责执行SQL语句 ResultSet:负责保存Statement执行后所产生的查询结果,客户端,数据库服务器,1,2,3,4,JDBC驱动,JDBC驱动由数据库厂商提供 在个人开发与测试中,可以使用JDBC-ODBC桥连方式 在生产型开发中,推荐使用纯Java驱动方式,DB Server,DB Server,JDBC API,JDBC Driver Manager,纯Java 驱动,JDBCODBC桥,Java 应用程序,ODBC,JDBC驱动,纯Java驱动 由JDBC驱动直接访问数据库 优点:100% Java,快又可跨平台 缺点:访问不同的数据库需要下载专用的JDBC驱动,JDBC 驱动,Java 应用程序,JDBC API,DB Server,JDBC驱动,使用纯Java驱动方式进行直连 1、下载数据库厂商提供的驱动程序包 2、将驱动程序包引入工程中 3、编程,通过纯Java驱动方式与数据库建立连接,-语法- String URL=“jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=news“; Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“); Connection con = DriverManager.getConnection(URL,“sa“,“sa“);,sql server数据库驱动类的完全限定类名,演示:在工程中引入JDBC驱动程序包,数据库名称,创建数据表:FirstLevelTitle,JDBC应用,要求对新闻标题进行管理: 1、新闻标题存储在Sql Server 2005中 2、通过JDBC对新闻标题进行增、删、改、查操作,操作步骤,使用Statement插入数据,使用PreparedStatement增、删、改、查数据,1,2,元数据,元数据用于描述数据库或数据库一部分的数据,它是关于数据的数据。元数据被用于动态地调节数据库的内容和结果集。它分为两类,一类是关于数据库的,另一类是关于结果集的。,数据库的DatabaseMetaData元数据,DatabaseMetaData对象能够提供关于特定数据库的结构的信息。DatabaseMetaData对象通过数据库的连接获得。 方法如下: DatabaseMetaData dmd = con.getMetaData( ); DatabaseMetaData对象提供的方法很多,超过100个 ,这些方法可以通过对返回结果的类型分为4类,分别是返回字符串、整数、布尔值和ResultSet的方法,结果集的ResultSetMetaData元数据,ResultSetMetaData是关于结果集的元数据。它可以通过getMetaData()方法从ResultSet获得元数据,结果集处理,对结果集处理分为可滚动的和可更新的。可滚动是指显示的结果集的游标所在行既可以向前移又可以向后移,也可以移动到指定的特定行;可更新是指允许客户程序对结果集中的数据进行修改 JDBC驱动程序是否支持可滚动的结果集是由DatabaseMetaData对象决定的。DatabaseMetaData接口中定义了一个supportsResultSetType(int type)方法,它的返回结果为boolean型,说明驱动程序所支持的结果类型。在实际的程序开发中,并不用DatabaseMetaData进行开发,而是用Statement直接指定,可滚动结果集处理,Statement st=con.createStatement(type,concurrency); 其中type它有3种类型: TYPE_FORWARD_ONLY:结果集游标只能向前移动。 TYPE_SCROLL_INSENSITIVE:可滚动,对数据变化不敏感。 TYPE_SCROLL_SENSITIVE:可滚动,对数据变化敏感。,可滚动结果集处理,对结果集进行操作就是对结果集的游标进行操作,其中定义了很多的方法。 absolute(int row):把游标移至给定的行。 afterLast():把游标移动到最后一行后面。 beforeFirst():把游标移动到第1行前面。 isAfterLast():判断游标是否在最后一行后面。 isBeforeFirst():判断游标是否在第1行前面。 first():把游标移动到第1行。 last():把游标移动到最后一行。 isFirst():判断游标是否在第1行。 isLast():判断游标是否在最后一行。 previous():把游标移动到所在行的前一行。 next():把游标移动到所在行的后一行。 relative():把游标相对移动几行。 getRow():获取当前行数。,可更新结果集处理,在ResultSet类中,用getConcurrency方法来确定结果集是否为可更新的。ResultSet接口中有很多的更新方法 : updateBoolean():用布尔类型的值更新指定的列。 updateByte():用字节值更新指定的列。 updateBytes():用字节数组值更新指定的列。 updateCharacterStream():用字符流的值更新指定的列。 updateDate():用date值更新指定的列。 updateDouble():用double类型的值更新指定的列。 updateFloat():用float类型的值更新指定的列。 updateInt():用int类型的值更新指定的列。 updateLong():用long类型的值更新指定的列。 updateNull():给可为null的列null值。 updateObject():用object值更新指定的列。 updateRow():用resultset对象的新内容更新。 updat

温馨提示

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

评论

0/150

提交评论