Java语言程序设计(java数据库连接)ppt.ppt_第1页
Java语言程序设计(java数据库连接)ppt.ppt_第2页
Java语言程序设计(java数据库连接)ppt.ppt_第3页
Java语言程序设计(java数据库连接)ppt.ppt_第4页
Java语言程序设计(java数据库连接)ppt.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

Java语言程序设计 清华大学出版社 第10章java数据库连接 图15 1学生数据库的组成及相关名词 10 1建立ODBC数据源 理解ODBC数据源 图15 3ODBC数据源管理器对话框 图15 7安装完成后的 ODBC数据源管理器 对话框 10 2使用JDBC连接数据库 JDBC JavaDataBaseConnectivity的缩写 意思是Java程序连接数据库的应用程序接口 API JDBC由一群类和接口组成 通过调用这些类和接口所提供的成员方法 我们可以连接各种不同的数据库 进而使用标准的SQL命令对数据库进行查询 插入 删除 更新等操作 10 2 1JDBC结构 JDBC的基本结构由Java程序 JDBC管理器 驱动程序和数据库四部分组成 如图所示 图JDBC结构 数据库 ODBC JDBC 桥接器 Java应用程序 1 Java应用程序Java应用程序根据JDBC方法实现对数据库的访问和操作 完成的主要任务有 请求与数据库建立连接 向数据库发送SQL请求 查询结果 处理错误 控制传输 提交及关闭连接等操作 2 JDBC编程要点 1 引用java sql包 importjava sql 2 使用Class forName 方法加载相应数据库的JDBC驱动程序 class forName sun jdbc odbc JdbcOdbcDriver 3 定义JDBC的URL对象 例如 StringconURL jdbc odbc TestDB 其中TestDB是我们设置的数据源 4 连接数据库 Connections DriverManager getConnection conURL 5 使用SQL语句对数据库进行操作 6 解除Java与数据库的连接并关闭数据库 例如 s close 10 3JDBC编程实例 10 3 1创建数据表 示例程序1 创建学生表student 此表有三个字段 学号 id 姓名 name 及成绩 score importjava sql 引入java sql包publicclassc1 publicstaticvoidmain String args StringJDriver sun jdbc odbc JdbcOdbcDriver 声明JDBC驱动程序对象StringconURL jdbc odbc TestDB 定义JDBC的URL对象try Class forName JDriver 加载JDBC ODBC桥驱动程序 catch java lang ClassNotFoundExceptione System out println ForName e getMessage try Connectioncon DriverManager getConnection conURL 连接数据库URLStatements con createStatement 建立Statement类对象Stringquery createtablestudent idchar 10 namechar 15 scoreinteger 创建一个含有三个字段的学生表students executeUpdate query 执行SQL命令 s close 释放Statement所连接的数据库及JDBC资源con close 关闭与数据库的连线 catch SQLExceptione System out println SQLException e getMessage 其中 createtablestudent idchar 10 namechar 15 scoreinteger 这个SQL语句表示建立一个名为student的表 包含id 字符型 宽度为10 name 字符型 宽度为15 与score 数字型 三个字段 这段程序的操作结果是创建了一个数据库中student表的结构 表中还没有任何记录 10 3 2向数据表中插入数据 示例程序2 在上例创建的数据表student中插入三个学生的记录 importjava sql publicclassc2 publicstaticvoidmain String args StringJDriver sun jdbc odbc JdbcOdbcDriver StringconURL jdbc odbc TestDB try Class forName JDriver catch java lang ClassNotFoundExceptione System out println ForName e getMessage try Connectioncon DriverManager getConnection conURL Statements con createStatement Stringr1 insertintostudentvalues 0001 王明 80 Stringr2 insertintostudentvalues 0002 高强 94 Stringr3 insertintostudentvalues 0003 李莉 82 使用SQL命令insert插入三条学生记录到表中s executeUpdate r1 s executeUpdate r2 s executeUpdate r3 s close con close catch SQLExceptione System out println SQLException e getMessage 图程序2的运行结果 10 3 3更新数据 示例程序3 java 修改上例数据表中的第二条和第三条记录的学生成绩字段值 并把修改后的数据表的内容输出到屏幕上 importjava sql publicclassc3 publicstaticvoidmain String args StringJDriver sun jdbc odbc JdbcOdbcDriver StringconURL jdbc odbc TestDB String id 0002 0003 int score 89 60 try Class forName JDriver catch java lang ClassNotFoundExceptione System out println ForName e getMessage try Connectioncon DriverManager getConnection conURL 修改数据库中数据表的内容PreparedStatementps con prepareStatement UPDATEstudentsetscore whereid inti 0 idlen id length do ps setInt 1 score i ps setString 2 id i ps executeUpdate 执行SQL修改命令 i while i id length ps close 查询数据库并把数据表的内容输出到屏幕上Statements con createStatement ResultSetrs s executeQuery select fromstudent while rs next System out println rs getString id t rs getString name t rs getInt score s close con close catch SQLExceptione System out println SQLException e getMessage 在这个程序中使用了PreparedStatement类 它提供了一系列的set方法来设定位置 请注意程序中PreparedStatement 方法中的参数 程序中的语句 PreparedStatementps con prepareStatement UPDATEstudentsetscore whereid ps setInt 1 score i 将score i 的值作为SQL语句中第一个问号所代表参数的值ps executeUpdate 其中 UPDATEstudentsetscore whereid 这个SQL语句中各字段的值并没指定 而是以 表示 程序必须在执行ps executeUpdate 语句之前指定各个问号位置的字段值 例如 用ps setInt 1 score i 语句中的参数1指出这里的score i 的值是SQL语句中第一个问号位置的值 当前面两条语句执行完后 才可执行ps executeUpdate 语句 完成对一条记录的修改 程序中用到的查询数据库并把数据表的内容输出到屏幕的语句是 ResultSetrs s executeQuery select fromstudent while rs next System out println rs getString id t rs getString name t rs getInt score 其中 executeQuery 返回一个ResultSet类的对象rs 代表执行SQL查询语句后所得到的结果集 之后再在while循环中使用对象rs的next 方法将返回的结果一条一条地取出 直到next 为false 运行结果如下 0001王明800002高强890003李莉60 10 3 4删除记录 示例程序4 java 删除表中第二条记录 然后把数据表的内容输出 importjava sql publicclassc4 publicstaticvoidmain String args StringJDriver sun jdbc odbc JdbcOdbcDriver StringconURL jdbc odbc TestDB try Class forName JDriver catch java lang ClassNotFoundExceptione System out println ForName e getMessage try Connectioncon DriverManager getConnection conURL Statements con createStatement 删除第二条记录PreparedStatementps con prepareStatement deletefromstudentwhereid ps setString 1 0002 ps executeUpdate 执行删除 查询数据库并把数据表的内容输出到屏幕上 ResultSetrs s executeQuery select fromstudent while rs next System out println rs getString id t rs getString name t rs getString score s close con close catch SQLExceptione System out println SQLException e getMessage 数据库驱动程序连接数据库 1 下载数据库驱动程序2 连接URL 连接Access数据库 StringconURL jdbc odbc Driver MicroSoftAccessDriver mdb DBQ TestDB mdb ConnectionEx1Con DriverManager getConnection conURL 见P116例10 5 连接SQLServer数据库 见P325例10 8 连接Oracle数据库 Class forName oracle jdbc OracleDr

温馨提示

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

评论

0/150

提交评论