




已阅读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 OracleDri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康咨询服务平台方案
- 2025年金属基复合材料项目规划申请报告
- 2025年微信生态项目提案报告模板
- 咨询项目驻场方案怎么写
- 智慧校园咨询方案怎么写
- 旅游观光索道施工方案
- 基层营销方案
- 科研报告会活动方案策划
- 咨询农家鱼缸设计方案
- 奉贤广告彩钢板施工方案
- 2024年江苏省射阳县事业单位招聘35人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 标签打印机的快速批量打印方法
- GB/T 1504-2024铸铁轧辊
- 食品行业创新与研发
- 电力各种材料重量表总
- 樊荣-《医疗质量管理办法》核心制度要点解析与案
- 男性不育症诊治指南课件
- 《声声慢》省赛一等奖
- 消防安全教育培训记录表
- 国家开放大学《实用管理基础》形考任务1-4参考答案
- 2023混凝土结构耐久性电化学修复技术规程
评论
0/150
提交评论