《Java数据库编程》PPT课件.ppt_第1页
《Java数据库编程》PPT课件.ppt_第2页
《Java数据库编程》PPT课件.ppt_第3页
《Java数据库编程》PPT课件.ppt_第4页
《Java数据库编程》PPT课件.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、java 基础培训,第10章 Java数据库编程,2,10.1 数据库简介,10.1.1 关系型数据库 数据库(Data Base, DB) 用于存放数据、访问数据、操作数据的存储仓库 数据库管理系统(Database Management System,DBMS) 管理数据库的一个软件 DBMS具有四个发展阶段:层次型、网状型、关系型和关系对象型。,3,10.1 数据库简介,管理信息系统(MIS)架构 C/S架构软件,即客户端/服务器端软件,通常适用于局域网。 B/S架构软件,即浏览器/服务器软件,通常适用于广域网。 关系型数据库 若干相互关联的表格构成一个关系型数据库 表是由行和列组成的二

2、维表格 列被称为字段,行被称为记录 列和行的交集通常被叫做项,表10.1 student表,4,10.1 数据库简介,10.1.2 SQL简介 结构化查询语言(Structured Query Language, SQL语言) 是所有关系型数据库都支持的一种统一的数据库语言,Java语言对数据库的操作是通过嵌入SQL语句实现的。 常用SQL指令,5,10.2 JDBC技术应用,10.2.1 JDBC简介 JDBC(Java DataBase Connectivity,Java数据库连接) 支持基本SQL语句,在java程序中实现数据库操作功能,并简化操作过程 提供多样化的数据库连接方法 为各种

3、不同的数据库提供统一的操作界面,6,10.2 JDBC技术应用,JDBC驱动程序分类 JDBC-ODBC桥驱动程序(JDBC-ODBC Bridge) 通过Java2提供的JDBC-ODBC桥驱动程序,开发者可以使用JDBC来访问一个ODBC数据源。使用JDBC-ODBC桥的驱动器,通常只运行在Microsoft Windows系统,因此JDBC平台无关性好处就不能体现出来。通常不推荐这种桥驱动程序,但它可以减少开发人员进行企业开发的麻烦。 本地API(Java to Native API) 本地API是用Java编写的驱动程序,这种类型的驱动程序把客户机API上的JDBC调用转换为Oracl

4、e、DB2或其他DBMS的调用。,7,10.2 JDBC技术应用,JDBC驱动程序分类 JDBC网络纯Java驱动程序(JDBC-Network Bridge) JDBC网络纯Java驱动程序是四种类型中最灵活的,也是最常用的。它是一种纯Java的驱动程序。这种驱动程序不需要客户端的数据库驱动,而是使用网络服务器中间层来访问一个数据库。该类型的驱动程序是网络协议中能体现完全Java技术性能的驱动程序,它为Java应用程序提供了一种进行JDBC调用的机制。 本地协议纯Java驱动程序(Pure Java JDBC Drive) 本地协议纯Java驱动程序也是一种纯Java的驱动程序,这种类型的驱

5、动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方案。,8,10.2 JDBC技术应用,JDBC提供的主要接口和类 java.sql.DriverManager DriverManager类作用于用户和驱动程序之间。 这个类的主要用途是通过调用静态方法getConnection()获取对Connection对象的引用。 java.sql.Connection Connection对象是通过DriverManager.getConnection()方法取得的 Connection对象的主要作用是通过调用

6、方法createStatement(),产生一个Statement对象,由Statement对象来执行SQL语句。,9,10.2 JDBC技术应用,JDBC提供的主要接口和类 java.sql.Statement Statement对象用于在已建立连接的基础上向数据库发送SQL语句的对象,包括了执行SQL语句和获取返回结果的方法。Statement接口提供了常用的执行SQL语句的方法,如executeQuery()、executeUpdate()。 java.sql.ResultSet ResultSet是结果集对象,当使用Statement对象的executeQuery()方法执行SQL查询

7、时,会把符合查询条件的数据库记录全部返回到结果集ResultSet对象中。要从这个结果集中取出记录,可以使用形如getString()、getFloat()等方法,从当前的记录中取出各个列的值。而要使指向结果集记录的指针指向下一条记录,则要使用ResultSet的next()方法。,10,10.2 JDBC技术应用,10.2.2 JDBC工作机制 加载驱动程序 在与特定数据库建立连接前,JDBC都会加载相应的驱动程序。当使用JDBC-ODBC桥驱动程序时,可以用以下的代码加载: Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);,11,10.2 JDBC技

8、术应用,建立与数据库的连接 创建与数据源的连接可以使用DriverManager的getConnection()方法。 public static synchronized Connection getConnection (String url) throws SQLException public static synchronized Connection getConnection (String url, String user, String password) throws SQLException public static synchronized Connection ge

9、tConnection (String url, Properties info) throws SQLException 例如,可用如下方法创建连接对象 Connection con = DriverManager.getConnection(url,user,password);,12,10.2 JDBC技术应用,创建Statement对象,执行SQL语句要执行SQL查询,首先创建一个Statement对象。 创建Statement对象可以使用Connection接口的createStatement()方法。 语句如下: Statement stmt = con.createStateme

10、nt(); 说明:可以使用stmt对象调用Statement接口中的executeQuery()方法、executeUpdate()方法执行相应的SQL语句。 使用executeQuery()方法执行SQL查询语句时,符合条件的记录返回到结果集ResultSet的对象中。 例如: String sql = select * from student where sex = 男; ResultSet rs = stmt.executeQuery(sql);,13,10.2 JDBC技术应用,当执行更新、插入、删除等SQL语句时,调用exeCuteUpdate()方法,没有记录返回。 例如: St

11、ring sql = insert into student values(0550103, 李涛, 男,96); stmt.executeUpdate(sql); 访问结果集记录 当执行了SQL查询语句时,符合条件的记录存放在结果集对象中。结果集中有一个访问记录的指针,最初指向第一个未被访问的记录之前,每调用一次ResultSet接口中的next()方法,指针下移一个位置,只要指针不为空,就可以取出指针所指记录中各字段的值,直到指针为空,也就是所有结果集中的记录都被访问到了。,14,10.2 JDBC技术应用,提取记录中字段的内容,可以使用ResultSet接口中的getXxx ()方法。

12、例如: while(rs.next() String sno = rs.getString(no); String sname = rs.getString(name); String ssex = rs.getString(sex); String sscore = rs.getInt(score); System.out.println(学号=+sno+ 姓名=+sname+ 性别=+ssex+ 成绩=+sscore); /显示当前记录内容,15,10.2 JDBC技术应用,依次关闭ResultSet、Statement和Connection的对象 例如: rs.close(); stmt.close(); con.close();,16,DB2 JDBC Driver的版本判断,JCC java -cp .db2jcc.jar com.ibm.db2.jcc.DB2Jcc -version 如果报类或者方法找不到,说明是很老的版本 APP 反编译,或者用如下的代码 import COM.ibm.db2.jdbc.app.*; DB2D

温馨提示

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

评论

0/150

提交评论