Java程序设计实用教程-教学ppt课件 -第11章Java数据库连接(JDBC.ppt
《Java程序设计实用教程-教学ppt课件 -第11章Java数据库连接(JDBC.ppt》由会员分享,可在线阅读,更多相关《Java程序设计实用教程-教学ppt课件 -第11章Java数据库连接(JDBC.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JAVA程序设计实用教程程序设计实用教程 在线教务辅导网:在线教务辅导网:http:/教材其余课件及动画素材请查阅在线教务辅导网教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187 或者直接输入下面地址:或者直接输入下面地址:http:/第11章Java数据库连接(JDBC)JAVA程序设计实用教程程序设计实用教程 第11章Java数据库连接(JDBC)11.1JDBC基础 11.2配置ODBC数据源 11.3JDBC数据库编程 11.4示例 11.5程序实例 JAVA程序设计实用教程程序设计实用教程 11.1JDBC基础 11.1.1JDBC驱动程序 11.1.2JDBCAPI
2、常用类和接口 JAVA程序设计实用教程程序设计实用教程 11.1.1JDBC驱动程序 nJava开发者常常需要访问包括关系数据库在内的各种各样的数据源,JDBC驱动程序利用JDBC标准建立起了Java程序和数据源之间的桥梁。n目前JDBC支持以下几种类型的驱动程序:JAVA程序设计实用教程程序设计实用教程 n1类型1驱动程序负责将JDBC转换为ODBC,并将使用一个ODBC驱动程序与数据库进行通信。Sun的Java2JDK提供(sun.jdbc.odbc.JdbcOdbcDriver)JDBC-ODBC桥接驱动程序。这类驱动程序必须在使用者端的计算机上事先安装好ODBC驱动程序,然后通过JDB
3、C-ODBC的调用方法,进而通过ODBC来存取数据库。适用没有提供JDBC驱动的数据库如Access。通过JDBC-ODBC桥访问数据库工作流程如图11.1所示。JAVA程序设计实用教程程序设计实用教程 n2类型2驱动程序是部分使用Java语言编写的和部分用本机代码编写的驱动程序,这类驱动程序也必须先在使用者计算机上先安装好特定的驱动程序(类似ODBC),然后通过桥接器的转换,把JavaAPI调用转换成特定驱动程序的调用方法,进而存取数据库。JAVA程序设计实用教程程序设计实用教程 n3类型3驱动程序是将JDBC命令转换为与数据库系统无关的网络协议,将数据库访问请求传给服务器,然后服务器将访问
4、请求转换成特定的数据库协议。JAVA程序设计实用教程程序设计实用教程 n4类型4驱动程序是将JDBC访问请求直接转换为特定数据库系统协议。不但无需在使用者计算机上安装任何额外的驱动程序,也不需要在服务器端安装任何中介程序,所有存取数据库的操作,都直接由驱动程序来完成。JAVA程序设计实用教程程序设计实用教程 11.1.2JDBCAPI常用类和接口 1.DriverManager(java.sql.DriverManager)类类 DriverManager类提供了用于管理JDBC驱动程序的方法,装载驱动程序,管理应用程序与驱动程序之间的连接。DriverManager类中的最主要方法是getC
5、onnection()方法。该方法建立与数据库的连接。对于简单的应用程序,一般程序员需要在此类中直接使用的方法是getConnection()方法。public static synchronized Connection getConnection(String url);public static synchronized Connection getConnection(String url,String user,String password);这三个参数都是String类型的,user为用户登录名,password为登录口令,url的标准语法由三部分组成,各部分间用冒号分隔:JAV
6、A程序设计实用教程程序设计实用教程 njdbc:njdbc协议。JDBCURL中的协议总是jdbc.n例如,为了通过JDBC-ODBC桥来访问某个数据库,可以用如下的所示的URL:njdbc:odbc:mydatabasen本例中,子协议为odbc,子名称mydatabase是本地ODBC数据资源。JAVA程序设计实用教程程序设计实用教程 2 2DateDate类类Date类中的主要方法:(1)Date()构造方法Date()构造方法有两个,Date(intyear,intmonth,intday)通过参数year(年)、month(月)、day(日)来构造一个日期对象。Date(longda
7、te)通过参数date对应的日期构造一个日期对象,参数date作为一个长整数,表示从1970年1月1日零时零分零秒起开始计时并以毫秒为单位的格林尼治标准时间。JAVA程序设计实用教程程序设计实用教程(2)toString()方法toString()方法用于将Date对象表示的日期转换为yyyy-mm-dd(年月日)格式的字符串。(3)setTime()方法setTime(long date)方法用于将参数date对应的日期设置为当前日期。(4)valueOf()方法valueOf(Strings)方法将日期字符串(参数s为以yyyy-mm-dd格式存放的日期字符串)转换成Date类型值。JAV
8、A程序设计实用教程程序设计实用教程 3Time类类Time类中的主要方法:(1)Time()方法是使用指定的参数(hour、minute、second或time)构造一个时间对象。参数time表示从1970年1月1日零时零分零秒计算的一个日期的毫秒数。(2)valueOf()方法valueOf(Strings)方法将指定字符串参数构造成时间值,参数为hh:mm:ss形式的字符串。JAVA程序设计实用教程程序设计实用教程 4Connection接口 Connection接口的功能是建立数据库应用程序与数据库的连接。只有应用程序成功地与指定的数据源建立了连接,SQL语句才可能发送到数据库,最终被执
9、行并且返回结果。Connection接口中的最主要方法:(1)createStatement()方法createStatement()方法定义如下:JAVA程序设计实用教程程序设计实用教程 Statement createStatement()throws SQLException;createStatement()方法用于创建一个Statement对象。如不带参数的SQL查询(select)语句可通过使用Statement对象来执行。createStatement()方法创建一个Statement对象格式如下:Statement stmt=conn.createStatement();该方法
10、返回一个Statement接口对象stmt,用于发送SQL语句。(2)close()方法close()方法用于关闭一个连接。JAVA程序设计实用教程程序设计实用教程 5Statement接口 Statement接口对象用于将SQL语句发送到数据库中。Statement接口的主要方法:(1)executeUpdate()方法executeUpdate()方法定义如下:intexecuteUpdate(Stringsql)throwsSQLException;executeUpdate(Stringsql)方法用于执行SQL语句的insert(插入)、update(更新)和delete(删除)语句
11、以及SQLDDL(数据定义语句)语句,sql参数字符串,即SQL语句用双引号形成字符串表达式。JAVA程序设计实用教程程序设计实用教程(2)executeQuery()方法 executeUpdate()方法定义如下:ResultSet executeQuery(String sql)throws SQLException;executeQuery(sqlStr)方法用于执行SQL语句的select(查询)并且返回一个结果集。executeQuery(sqlStr)方法执行SQL语句并且返回一个结果集格式如下:ResultSet rs=stmt.executeQuery(SELECT no,n
12、ame,sex FROM Table1);该方法返回一个ResultSet对象rs,用于处理返回的结果集。其中no、name、sex为字段名,Table1为表名。JAVA程序设计实用教程程序设计实用教程 6ResultSet接口nResultSet接口是用于获取数据库中的表或查询结果。结果集是一个表,它包含符合SQL条件语句的所有行。ResultSet接口提供了访问结果集的许多方法,它通过提供一套getXXX()方法,获得当前行中的不同数据类型的字段值。JAVA程序设计实用教程程序设计实用教程(1)记录指针定位方法记录指针定位方法包括:first()、next()、previous()和las
13、t()方法。记录指针是指向结果集中当前数据行的游标。每调用一次next()方法,游标向下移动一行。最初记录指针位于第一行之前,因此,第一次调用next()方法将游标置于第一行上,使第一行为当前行。first()方法使记录指针是指向结果集中的第一行,last()方法使记录指针是指向结果集中的最后一行,previous()方法使游标向上移动一行。这些方法返回值是布尔量,当有新行存在时,返回值为true。JAVA程序设计实用教程程序设计实用教程(2)getXXX()方法getXXX(int columnIndex或String columnName)方法(是所有get方法的总称)用于获取结果集中指定
14、列的值,参数int columnIndex代表列的索引号,参数String columnName代表列的名称的字符串。JAVA程序设计实用教程程序设计实用教程 getXXX()的主要方法:(1)boolean getBoolean()获取结果集中指定列的boolean型的值。(2)byet geyByte()获取结果集中指定列的byet型的值。(3)Date getDate()获取结果集中指定列的Date型的值。(4)double getDouble()获取结果集中指定列的double型的值。(5)float getFloat()获取结果集中指定列的float型的值。(6)int getInt
15、()获取结果集中指定列的int型的值。(7)long getLong()获取结果集中指定列的long型的值。(8)short getShort()获取结果集中指定列的short型的值。(9)String getString()获取结果集中指定列的String型的值。(10)Time getTime()获取结果集中指定列的Time型的值。JAVA程序设计实用教程程序设计实用教程 11.2配置ODBC数据源 n数据库应用程序在使用ODBC管理数据库时,首先需要做的工作是在ODBC管理器中对数据库进行登记注册和连接测试,该项工作就是配置ODBC数据源,数据源即数据库的位置、数据库的类型以及ODBC驱
16、动程序等信息的集合。JAVA程序设计实用教程程序设计实用教程 n我们已经有一个用Access2000设计的数据库:数据库名为student.mdb,数据库存在d:javajcjavaData目录下。n为student.mdb数据库在ODBC管理器中配置数据源的步骤如下:JAVA程序设计实用教程程序设计实用教程(1)打开Windows中的控制面版。(2)双击管理工具图标,出现管理工具窗口。在该窗口中双击数据源(ODBC)图标,出现ODBC数据源对话框,如图11.2所示。(3)在ODBC管理器中,选择用户DSN选项卡,单击“添加”按钮,出现创建新数据源界面,如图11.3所示。(4)在ODBC管理器
17、创建新数据库源中选择Microsoft Access Driver(*.mdb),单击“完成”按钮,出现安装Access数据库界面,如图11.4所示。(5)在ODBC Microsoft Access安装对话框中,输入数据源名为student,单击数据库区域的“选择”按钮,出现选择数据库对话框,如图11.5所示。选择Access数据库(student.mdb)后,单击确定按钮,回到ODBC Microsoft Access安装对话框窗口,如图11.6所示。如果我们要为数据源student设置登录用户名和密码,在ODBC Microsoft Access安装对话框中,选择高级按钮,出现设置高级选
18、项对话框,如图11.7所示。否则单击按钮就完成了数据源设置的全部步骤。JAVA程序设计实用教程程序设计实用教程 n在登录名称文本框里输入一个用户名,在密码文本框里输入口令。然后单击确定按钮,回到ODBCMicrosoftAccess安装界面如图11.4所示,再单击确定按钮就完成了配置数据源的全部过程。最后,关闭控制面版。JAVA程序设计实用教程程序设计实用教程 11.3JDBC数据库编程 在Java 程序设计中,通过JDBC使用数据库的应用程序,需要以下四个步骤:(1)加载JDBC驱动程序。(2)建立与数据库的连接。(3)向数据库发送SQL语句。(4)处理查询结果。JAVA程序设计实用教程程序
19、设计实用教程 1加载JDBC驱动程序 例如:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);/加载JDBC-ODBC桥接驱动程序驱动程序Class.forName(“oracle.jdbc.driver.OracleDriver”);/加载Oracle驱动程序驱动JAVA程序设计实用教程程序设计实用教程 2建立与数据库的连接 利用DriverManager类的静态方法getConnection()来获得与特定数据库的连接实例 lConnection conn=DriverManager.getConnection(url);其中url见下面讲述的有关
20、内容,类型是String,在没有设置用户登录名和密码时,使用此格式方法。lConnection conn=DriverManager.getConnection(url,user,password);这三个参数都是String类型的,user参数是用户登录名,password是登录口令,对于不同的驱动程序与不同的数据库建立连接时,url的内容是不同的,通过JDBC-ODBC桥来访问某个数据库,url是jdbc:driverType:dataSource,有三个部分组成,可分解如下:jdbc:JDBC-ODBC的桥接驱动程序;driverType:为odbc;dataSource:则为ODBC的
21、数据源。JAVA程序设计实用教程程序设计实用教程 3向数据库发送SQL语句 Statement对象用于将SQL语句发送到数据库中。通过上面已创建的连接数据库对象conn的createStatement()方法来创建一个Statement对象。(1)创建Statement对象 如下面代码段中所示:Connection con=DriverManager.getConnection(url,user,password);Statement stmt=con.createStatement();(2)使用Statement对象执行语句 方法executeQuery()用于产生单个结果集的语句,例如S
22、ELECT查询语句。方法 executeUpdate()用于执行 INSERT、UPDATE 或 DELETE 语句以及SQL DDL(数据定义语言,例如 CREATE TABLE 和 DROP TABLE)语句,该方法执行后的返回值是一个整数,指示受影响的行数(即更新计数)。例如删除成绩表中,学号为951001的记录的executeUpdate()方法格式如下:stmt.executeUpdate(“Delete from 成绩 WHERE 学号=951001”);例如查询学生表中所有记录的executeQuery()方法格式如下:ResultSet rs=stmt.executeQuery
23、(select*from 学生 )JAVA程序设计实用教程程序设计实用教程 4处理查询结果 ResultSet(包含符合SQL条件语句的所有行),它通过一套get方法(这些get方法可以访问当前行中的不同列)对这些数据的访问。ResultSet.next方法使游标移动到ResultSet中的下一行,使下一行成为当前行。下面的代码段是执行SQL语句的示例,该SQL语句将返回行集合,并且对结果集进行处理。Statementstmt=conn.createStatement();ResultSet rs=stmt.executeQuery(SELECT*FROM 学生);while(rs.next(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计实用教程-教学ppt课件 -第11章Java数据库连接JDBC Java 程序设计 实用教程 教学 ppt 课件 11 数据库连接 JDBC
限制150内