资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
深入深入JDBCJDBCJava高级编程高级编程 第四章第四章课程目标课程目标掌握掌握JDBC的工作原理的工作原理掌握如何获取数据库连接掌握如何获取数据库连接掌握如何对数据进行增、删、改、查掌握如何对数据进行增、删、改、查掌握元数据掌握元数据掌握对结果集操作的方法掌握对结果集操作的方法JDBC概念概念JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力Java应用程序应用程序JDBCJDBCJSP/Servlet客户端客户端数据库服务器数据库服务器应用服务器应用服务器数据库服务器数据库服务器客户端客户端JDBC程序的工作原理程序的工作原理JDBC API提供者:sun公司内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:DriverManager类Connection接口Statement接口ResultSet接口DriverManager提供者:sun公司作用:载入各种不同的JDBC驱动JDBC 驱动提供者:数据库厂商作用:负责连接各种不同的数据库SqlSql ServerServerOracleOracleJDBC API JDBC Driver Manager JDBC 驱动驱动 JDBC 驱动驱动 Java 应用程序应用程序 JDBC APIJDBC API可做三件事:与数据库建立连接、执行SQL 语句、处理结果ConnectionDriverManagerStatementResultSet DriverManager :依据数据库的不同,管理:依据数据库的不同,管理JDBC驱动驱动 Connection :负责连接数据库并担任传送数据的任务:负责连接数据库并担任传送数据的任务 Statement :由由 Connection 产生、负责执行产生、负责执行SQL语句语句 ResultSet:负责保存:负责保存Statement执行后所产生的查询结果执行后所产生的查询结果客户端客户端数据库服务器数据库服务器1234JDBC驱动驱动 JDBC驱动由数据库厂商提供在个人开发与测试中,可以使用JDBC-ODBC桥连方式在生产型开发中,推荐使用纯Java驱动方式DB DB ServerServerDBDBServerServerJDBC APIJDBC Driver Manager纯纯Java 驱动驱动 JDBCODBC桥桥Java 应用程序应用程序 ODBCJDBC驱动驱动 纯Java驱动由JDBC驱动直接访问数据库优点:100% Java,快又可跨平台缺点:访问不同的数据库需要下载专用的JDBC驱动JDBC 驱动驱动 Java 应用程序应用程序 JDBC API DBDBServerServerJDBC驱动驱动 使用纯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增、删、改、查数据增、删、改、查数据字段名称字段说明数据类型大小Id序号int4TitleName标题名称varchar50Creator创建者varchar50CreateTime创建时间datetime812元数据元数据元数据用于描述数据库或数据库一部分的数据,它是关于数据的数据。元数据被用于动态地调节数据库的内容和结果集。它分为两类,一类是关于数据库的,另一类是关于结果集的。数据库的数据库的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对象的新内容更新。updateShort():用short类型的值更新指定的列。updateString():用字符串类型的值更新指定的列。updateTime():用time值更新指定的列。总结总结JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力JDBC工作原理驱动分为两种纯驱动和桥驱动结果集处理分为可滚动的和可更新的
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号