第9章访问数据库 9.1JDBC简介 92建立数据库连接 9.3执行SQL语句 94使用 Prepared Statement 95事务处理 9.6编写数据库工具类 97一个实例
第9章 访问数据库 9.1 JDBC 简介 9.2 建立数据库连接 9.3 执行SQL语句 9.4 使用Prepared Statement 9.5 事务处理 9.6 编写数据库工具类 9.7 一个实例
9.1JDBC简介-1 数据库的应用目前已经非常普遍,在应用程序的开发 过程中,经常会涉及到访问数据库。Java语言为访问 数据库提供了方便的技术。 ●Java使用JDBC( Java Database Connectivity)技术进行数 据库的访问,如图91.1所示。使用JDBC技术进行数据 库访问时,Java应用程序通过 JDBC API和JDBC驱动程 序管理器之间进行通信,例如Java应用程序可以通过 JDBC API向JDBC驱动程序管理器发送一个SQL查询语 句。JDBC驱动程序管理器又可以以两种方式和最终的 数据库进行通信:一是使用 JDBC/ODBC桥接驱动程序 的间接方式;另一是使用JDBC驱动程序的直接方式
9.1 JDBC 简介-1 ⚫ 数据库的应用目前已经非常普遍,在应用程序的开发 过程中,经常会涉及到访问数据库。Java语言为访问 数据库提供了方便的技术。 ⚫ Java使用JDBC(Java Database Connectivity)技术进行数 据库的访问,如图9.1.1所示。使用JDBC技术进行数据 库访问时,Java应用程序通过JDBC API和JDBC驱动程 序管理器之间进行通信,例如Java应用程序可以通过 JDBC API向JDBC驱动程序管理器发送一个SQL查询语 句。JDBC驱动程序管理器又可以以两种方式和最终的 数据库进行通信:一是使用JDBC/ODBC桥接驱动程序 的间接方式;另一是使用JDBC驱动程序的直接方式
9.1JDBC简介-2 JDBC API JDBC Driver API ODBC驱动程序O1 数据库O1 JDBC ODBC ODBC驱动程序O2 数据库O2 桥接恐 DBc动程序 ODBC驱动程序On 数据库On 用 序 驱动程序管理器 ⑩BC驱动程序J1 数据库 ①BC驱动程序J2 数据库 BC驱动程序Jn 数据库In 图91.1JDBC示意图
9.1 JDBC 简介-2 图9.1.1 JDBC示意图
9.1JDBC简介-3 JDBC所釆用的这种数据库访问机制使得JDBC驱动程序管理器以及 底层的数据库驱动程序对于开发人员来说是透明的。对于开发人 员来说,访问不同类型的数据库时使用的是同一套 JDBC API。此 外,使用这种机制还有另一个重要的意义:当有新类型的数据库 出现时,只要该数据库的生产厂商提供相应的JDBC驱动程序,已 有的Java应用程序不用做任何修改 !ODBC(开放式数据库连接)是一个编程接口,它允许程序 使用SQL(结构化查询语言)作为数据访问标准的DBS(数据 理系统)中的数据。SU公司认为0BC难以掌握、使用复亲杂并且 安全性方面存在问题,所以a中没有直接来用ODBC模式
9.1 JDBC 简介-3 JDBC所采用的这种数据库访问机制使得JDBC驱动程序管理器以及 底层的数据库驱动程序对于开发人员来说是透明的。对于开发人 员来说,访问不同类型的数据库时使用的是同一套JDBC API。此 外,使用这种机制还有另一个重要的意义:当有新类型的数据库 出现时,只要该数据库的生产厂商提供相应的JDBC驱动程序,已 有的Java应用程序不用做任何修改。 ! ODBC (开放式数据库连接)是一个编程接口,它允许程序访问 使用SQL (结构化查询语言) 作为数据访问标准的DBMS(数据库管 理系统)中的数据。SUN公司认为ODBC难以掌握、使用复杂并且在 安全性方面存在问题,所以Java中没有直接采用ODBC 模式
92建立数据库连接-1 92.1使用JDBC/ODBC桥接驱动程序 9,22使用JDBC驱动程序 923使用配置文件
9.2 建立数据库连接-1 ⚫ 9.2.1 使用JDBC/ODBC桥接驱动程序 ⚫ 9.2.2 使用JDBC驱动程序 ⚫ 9.2.3 使用配置文件
92建立数据库连接-2 ●要想对数据库进行访问,必须先和数据库建立连接。建立一个数 据库连接总是需要两个步骤 l、载入驱动程序 Class forName("驱动程序名称") 、建立连接 Connection con= Driver Manager. getConnection(ur,用户名称","用 户密码") JDBC驱动程序管理器可以以两种方式进行数据库访问:一是使用 DBC⑦ODBC桥接驱动程序;另一种方式是使用JDBC驱动程序直 接和数据库连接。下面将使用两个实例来分别讲解如何使用这两 种方式进行数据库访问 不同的驱动程序,驱动程序名称以及子协议名称是可以不一样 的。在随驱动程序提供的文档中能够找到具体使用方法
9.2 建立数据库连接-2 ⚫ 要想对数据库进行访问,必须先和数据库建立连接。建立一个数 据库连接总是需要两个步骤: l、载入驱动程序 Class.forName("驱动程序名称"); 2、建立连接 Connection con = DriverManager.getConnection(url,“用户名称", "用 户密码"); ⚫ JDBC驱动程序管理器可以以两种方式进行数据库访问:一是使用 JDBC/ODBC桥接驱动程序;另一种方式是使用JDBC驱动程序直 接和数据库连接。下面将使用两个实例来分别讲解如何使用这两 种方式进行数据库访问。 ⚫ !不同的驱动程序,驱动程序名称以及子协议名称是可以不一样 的。在随驱动程序提供的文档中能够找到具体使用方法
92.1使用 JDBC/ODBO桥接驱 动程序 使用 MS Access建立一个名为 bookTest mdb的数据库,该数据库中 有一张表 bookInfo,该表的的字段名称、数据类型和字段含义参 见教材表92.1。 使用ODBC管理工具为 bookTest. mdb的建立一个名为Book的数据 源。设定好访问该数据源的用户名称和密码(本例中分别设定为 admin和xyz)
9.2.1 使用JDBC/ODBC桥接驱 动程序 使用MS Access建立一个名为bookTest.mdb的数据库,该数据库中 有一张表bookInfo,该表的的字段名称、数据类型和字段含义参 见教材表9.2.1。 使用ODBC管理工具为bookTest.mdb的建立一个名为Book的数据 源。设定好访问该数据源的用户名称和密码(本例中分别设定为 admin 和 xyz)
(1)载入驱动程序 使用JDBC/ODBC桥接驱动程序,该驱动程序的名称为 “ sun jdbc. odbc. JdbcOdbcDriver”,使用下面的语句将载入 JDBC/ODBC桥接驱动程序 Class forName("sun jdbc odbc JdbcOdbc Driver")
(1) 载入驱动程序 ⚫ 使用JDBC/ODBC桥接驱动程序,该驱动程序的名称为 “sun.jdbc.odbc.JdbcOdbcDriver ”,使用下面的语句将载入 JDBC/ODBC桥接驱动程序: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
(2)建立连接 使用下面的语句建立一个和数据库的连接: Connection con=Driver Manager getConnection( jdbc: odbc: Book"," admin","xyz)
(2) 建立连接 ⚫ 使用下面的语句建立一个和数据库的连接: Connection con=DriverManager.getConnection( "jdbc:odbc:Book","admin","xyz");
JDBC/ODBC桥连接 Access的硬件设置 打开控制面板,选中管理工具。如图 Adobe Gamma CMI Audio Internet选 Qui ckTime Symantec Windows防安全中心 Config 项 ate 火墙 便携媒体设打印机 和鄘请鹬电源选项辅助能选 键盘 真 区域和语言任务计划 露 栏和 日期和时间扫描仪和照声音和音频 鼠标 菜单 邑案鱼 添加或册 添加硬件网络安装向网络连接文件夹选项无线网络安 系 装向 显示音效管理员用户帐户游戏控制器语音 字体 自动更新
JDBC/ODBC桥连接Access的硬件设置 打开控制面板,选中管理工具。如图