java数据库编程技术.ppt_第1页
java数据库编程技术.ppt_第2页
java数据库编程技术.ppt_第3页
java数据库编程技术.ppt_第4页
java数据库编程技术.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

08:54,第1页,第四章,JDBC数据库编程技术,08:54,第2页,知识点:,了解常见的关系型数据库 熟悉JDBC的工作原理,掌握JDBC操作数据库所用到的类的使用方法 掌握JDBC开发数据库的工作步骤,08:54,第3页,本章主要介绍以下5个部分的内容:,1.关系数据库简介 2.JDBC基础 3.主要JDBC类 4. JDBC编程工作步骤 5.实例,08:54,第4页,一、关系数据库简介,(1)关系数据库的特点有哪些? 一个数据库由一个或多个表组成,每个表由行,列组成,列代表字段(即属性),行代表记录. 表中的记录是唯一的 ,主关键字唯一。 (2)对关系数据库的操作有哪些? 搜索(查找) 添加,插入,删除记录 更新记录 投影和连接操作,08:54,第5页,(3) SQL语句,(1)SELECTALL|DISTINCT|DISTINCTROW|TOP *|talbe.*|table.field1AS alias1,table.field2AS alias2, FROM tableexpression,IN externaldatabase WHERE (2)更新数据语法: UPDATE 表名 SET 新值 WHERE 条件 (3)DELETE子句的语法: DELETE 表名.* FROM 来源表 WHERE条件 (4)INSERT 子句的语法: INSETR INTO 目的表或查询(字段1,字段2,) values(数值1,数值2,),08:54,第6页,二、 JDBC基础,JDBC是为Java提供的一个平台无关的数据库标准API,它提供了一个通用的SQL数据库存取机制,该机制为多数关系型DBMS提供统一接口。 JDBC分为JDBC API与JDBC驱动程序。前者即一组JDBC类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源(在java.sql类包中)。 JDBC为访问不同的数据库提供了一种统一的途径,象ODBC(Open Database Connectivity)一样,JDBC对开发者屏蔽了一些细节问题。,08:54,第7页,二、 JDBC基础,JDBC包含一系列丰富的类,在java.sql包中(JDK.1.1以上).JDBC提供了一种API实现对数据库透明存取的方法,这种存取依据驱动程序来实现,不同的数据库制造尚提供它们不同的驱动程序. JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。,08:54,第8页,与ODBC相类似,JDBC接口(API)也包括两个层次: 面向应用的API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用。,与ODBC相比,JDBC没有了定制的“数据源”的概念,而是直接在应用程序中加载驱动程序并连接特定的数据库。,二、JDBC基础,08:54,第9页,三、主要JDBC类,(1)Driver类:用来与数据库通信的软件. (2)DriverManager类:是JDBC基础,用来管理和卸载JDBC驱动程序.该类有一个getConnection()方法,用于验证JDBC数据源,并返回Connection对象. (3)Connection类:该类的CreateStatement()方法连接JDBC数据源,返回Statement对象. (4)Statement类:将SQL行为封装起来交给数据库引擎,调用该类的execute(), executeQuery(), executeUpdate()等方法,执行SQL语句,返回resultSet对象. (5)ResultSet类:封装了一个由SQL查询返回的结果.该类的getString(),getInt()等方法获得一栏数据的存取,next()方法到下一行.,08:54,第10页,四、 JDBC编程工作步骤,任何一个JDBC应用程序,都需要以下四个步骤: 加载JDBC驱动程序 建立与数据库的连接 进行数据库操作 数据集结果分析 关闭相关连接,08:54,第11页,1、加载JDBC驱动程序,在应用程序中,有三种方法可以加载驱动程序: 利用System类的静态方法setProperty() System.setProperty(“jdbc.drivers”, “sun.jdbc.odbc.JdbcOdbcDriver”); 利用Class类的静态方法forName() Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); Class.forName(“oracle.jdbc.driver.OracleDriver”); 直接创建一个驱动程序对象 new sun.jdbc.odbc.JdbcOdbcDriver();,08:54,第12页,2、 建立与数据库的连接,利用DriverManager类的静态方法getConnection()来获得与特定数据库的连接实例(Connection实例)。 Connection conn = DriverManager.getConnection(source, user, pass); 这三个参数都是String类型的,使用不同的驱动程序与不同的数据库建立连接时,source的内容是不同的,但其格式是一致的,都包括三个部分: jdbc:subprotocol:subname 对于JDBC-ODBC Bridge, subprotocol(子协议)为odbc, subname (子名字)则为数据源:“jdbc:odbc:myDSN”。 对于其他类型的驱动程序,根据数据库系统的不同subprotocol和subname有不同的格式和内容。,08:54,第13页,3、进行数据库操作,每执行一条SQL语句,都需要利用Connetcion实例conn的createStatement()方法来创建一个Statement实例。 Statement mystmt=conn.CreateStatement(); Statement的常用方法包括: 执行SQL:INSERT, UPDATE 或 DELETE 等语句 int executeUpdate(String sql) 执行SQL:SELECT语句 ResultSet executeQuery(String sql) Statement 中还有其他的方法来执行SQL语句。,08:54,第14页,4、数据集结果分析,一旦执行了SELECT 语句,ResultSet对象rs就包含了满足SQL语句条件的所有行。 使用rs.next()方法可以下移rs中的行。 在行中取得数据可以通过rs.get中的多种方法实现。 例如,假定有一个表emps,其中存储了具有name,age 等多个字段的多个记录。如果执行了查询Select * from emps,则下面的代就可以说明如何获得结果: ResultSet rs = stmt.execteQuery (“Select * from emps“); While (rs. next () ) String fl = rs.getString (1);/第一列的值 rs.getString (“name”) int f2 = rs.getInt (2); /第一列的值 rs.getString (“age ”) float f3 = rs.getFloat (3); int f4 = getInt (4); ,08:54,第15页,5、关闭连接,mystmt.close(); /关闭对象(SQL语句对象) rs.close(); /关闭对象(结果集对象) con.close(); /关闭连接,08:54,第16页,6、整体格式,import java.sql.*; public class JDBCExample Connection myconn; Statement mystmt; ResultSet myrs; public static void main(String args) try Class.forname(“xxxxxx”);/驱动程序名 /sun.jdbc.odbc.JdbcOdbcDriver Catch(ClassNotFoundException e) ,08:54,第17页,try myconn=DriverManager.getConnection(“数据源”,UN,PW); mystmt=myconn.CreateStatement(); mystmt.executeUpdate(“insert into xxx(,) values(,)”); myrs=mystmt.executeQuery(“select * from xxx”); while(myrs.next() int xxx1=myrs.getInt(字段1) ; String xxx2=myrs.getString(字段2“); 输出结果; Catch(SQLException e) ,jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=XXX.mdb,myrs.close(); mystmt.close(); myconn.close();,08:54,第18页,五、实例,下面我们通过一个简单的实例介绍如何使用JDBC开发数据库程序。 首先使用Access

温馨提示

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

评论

0/150

提交评论