第8章 Java数据库操作.ppt
《第8章 Java数据库操作.ppt》由会员分享,可在线阅读,更多相关《第8章 Java数据库操作.ppt(47页珍藏版)》请在一课资料网上搜索。
1、1第8章 Java数据库编程主要内容: 8.1. 数据库编程基础8.2. JDBC8.3. 数据库编程28.1. 数据库编程基础1. 数据库(Database,简称DB)是在计算机系统中按照一定的数据结构(模型)组织、存储在计算机存储器中的相互联系的数据集合。数据库可以供多种用户共享,具有较小的冗余度和较高的数据独立性。2. 数据库管理系统(Database Management System, 简称DBMS)是位于用户与操作系统之间的一层数据管理软件,是数据库系统的重要组成部分,对数据库的所有操作和控制都是通过它来进行的。3v关系数据库模型把数据用表的集合来表示.v数据表由一个或多个相关的数
2、据项组成 记 录关系数据库模型8.1. 数据库编程基础41. 数据库的概念v关系数据库可以由多个表组成,表与表之间可以用不同的方式相互关联.例如: 学生表学生表: : 成绩表成绩表: :703892951成绩学号刘三3李二2张一1姓名学号刘三703姓名成绩学号关系数据库模型8.1. 数据库编程基础51. 数据库的概念v表、记录、行列关系:课程编号课程名称学时学期平均成绩A001Java编程基础32179A003C语言48185B004信号与系统32267C001通信原理32266属性属性行(记录)行(记录)列列关系数据库模型8.1. 数据库编程基础6结构化查询语言(SQL)vSQL是结构化查询
3、语言(Structured Query Language)的简称。SQL语言是IBM公司在20世纪70年代所开发的一种数据库操作语言。它是一个综合的、功能强大的关系型数据库语言,能实现数据库的创建、更新、删除、数据定义、文本限制、出现控制等操作,被公认为是数据库操作不可缺少的工具。vSQL现在已经成为关系数据库的标准语言。美国国家标准协会(ANSI)和国际标准化组织(ISO)制定了一系列的SQL标准。8.1. 数据库编程基础7vSELECT语句v数据查询是数据库的常用、核心的操作。SQL语言提供了SELECT语句进行数据库查询。vSELECT语句例子: Select 学号,姓名,成绩 From
4、 学生表,成绩表 Where 成绩60结构化查询语言(SQL)8.1. 数据库编程基础8v更新记录INSERTvInsert语句用于向数据库的某个表中插入新的记录.vINSERT语句例子: Insert into 学生表(学号,姓名) Values(041201,张三)结构化查询语言(SQL)8.1. 数据库编程基础9v更新记录UPDATEvUPDATE语句用于数据修改。vUPDATE语句示例: update 成绩表 set 成绩=80 where 学号=041201结构化查询语言(SQL)8.1. 数据库编程基础10v更新记录DELETEvDELETE语句进行数据删除。vDELETE语句示例
5、: vv DELETE FROM 学生表 WHERE 姓名=张三 结构化查询语言(SQL)8.1. 数据库编程基础118.2. JDBCvJDBC是个商标名而不是缩写。但经常被认为是Java Database Connectivity的缩写。即Java数据库连接API。JDBC是由一组用由一组用Java语言编写语言编写的类和接口组成的类和接口组成。JDBC为开发人员提供了一个标准的API,允许用户从Java应用程序中访问任何表格数据源。vJDBC支持SQL工业标准.JDBC有两个重要的组件:驱动程序管理器和JDBC-ODBC桥.12JDBC技术简介v驱动程序管理器: JAVA应用程序平台与数据
6、库无关性是通过驱动程序管理器实现的.在开发过程中需要为不同的数据库使用不同的JDBC驱动程序,这些驱动程序的选择由驱动程序管理器完成.vJDBC-ODBC桥 Microsoft提供了一个ODBC(开放式数据库互连)的技术,使windows应用程序能访问不同的数据库.Java程序不能直接与ODBC驱动器通信.SUN公司提供了由JDBC访问ODBC数据源的驱动器JDBC-ODBC桥接器.8.2. JDBC13vJDBC API为Java开发者使用数据库提供了统一的编程接口。即JDBC建立了一种不依赖具体DBMS编程的机制,使开发人员不必考虑所用的具体数据库,就能编写出客户端/服务器数据库应用程序.
7、vJDBC 30版本 :java.sqljavax.sql8.2. JDBCJDBC技术简介14vjava.sql 这个包中的类和接口主要针对基本的数据库编程服务,如生成连接、执行语句以及准备语句和运行批处理查询等。同时也有一些高级的处理,比如批处理更新、事务隔离和可滚动结果集等。vjavax.sql 它主要为数据库方面的高级操作提供了接口和类。如为连接管理、分布式事务和旧有的连接提供了更好的抽象,它引入了容器管理的连接池、分布式事务和行集等。 8.2. JDBCJDBC 30版本 :15vJDBC能够提供以下功能 1)与数据库建立连接 2)向数据库发送SQL语句 3)处理数据库返回的结果8.
8、2. JDBCJDBC技术简介161)与数据库建立连接v在JAVA应用程序中要对数据库中的数据进行操作,首先就要与数据库进行连接.与数据库连接一般分为两个步骤:1.装入驱动器:所有的与数据库交互操作都是借助于DBMS特定的驱动器而发生的.所以,进行数据处理之前,需要确定DBMS厂商提供的驱动器并装入它.2.连接到数据库:在装入DBMS特定驱动器后,就可以连接需要操作的数据库.8.2. JDBC17装入数据库驱动程序v为了建立与数据库的连接,需要调用Class类的forName()方法来装入数据库特定的驱动器.v如果用JDBC-ODBC桥接器来与数据库通信,则用语句: Class.forName
9、(“sun.jdbc.odbc.JdbcOdbcDriver”)v如果用JDBC Driver(JDBC驱动器)与数据库通信,则根据不同的数据库使用下面的语句: u装载MS SQL Server驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”) u装载Oracle JDBC驱动 Class.forName(oracle.jdbc.driver.OracleDriver)8.2. JDBC18 在装入JDBC驱动器时可能发生异常,因此要捕获这个异常try Class.forName(sun.jdbc.odbc.Jdbc
10、OdbcDriver); catch (ClassNotFoundException e) System.out.println(Driver not found);8.2. JDBC装入数据库驱动程序19连接到数据库v用 DriverManager(驱动程序管理器)类中的getConnection方法建立与数据库的连接. v例如: Connection conn = DriverManager.getConnection(“jdbc:odbc:数据源名”,”数据源访问用户名”,”数据源访问密码”); vconn是Connection类的对象,代表了与数据库的连接.在应用程序中可以使用多个Co
11、nnection对象与一个或多个数据库连接.8.2. JDBC20DriverManagerv获得数据库连接 DriverManager.getConnection(parameter ) 重载方法:ustatic Connection getConnection(String url) ustatic Connection getConnection(String url,Properties info) ustatic Connection getConnection(String url,String user,String password) 8.2. JDBC21DriverMana
12、gervURL的语法如下:jdbc: 协议 jdbc子协议 子名 数据库名数据库名 驱动程序驱动程序URLJDBC-ODBCsun.jdbc.odbc.JdbcOdbcDriverjdbc:odbc:odbcsourceOracle thin Driveroracle.jdbc.driver.OracleDriverjdbc:oracle:thin:ip:port:sidMySQLorg.gjt.mm.mysql.Driverjdbc:mysql:/ip/database8.2. JDBC222)向数据库发送SQL语句v要将应用程序对数据库操作的SQL语句发送给DBMS,要执行如下两步操作:
13、1) 首先使用已经建立好的Connection对象的createStatement()方法创建一个Statement对象. Statement stmt = conn.createStatement(); 2) 然后定义一个变量存放要发送的SQL语句。如:String strS = “select * from student”; String strI = “Insert into 学生表(学号,姓名) Values(041201,张三)”;v如果是一般的SELECT查询语句要发送,则使用executeQuery(strS)方法。v 如果是insert、update或delete修改语句,则
14、使用executeUpdate(strI)方法。8.2. JDBC233)处理数据库返回的结果v利用Statement对象的executQuery()方法发送的SQL查询语句,会返回一个ResultSet对象,存放结果集。ResultSet对象包含了访问结果集中数据的很多方法。典型的有:vgetString(int n)vgetInt(int n)vgetFloat(int n)vgetDate(int n)vnext() 等.8.2. JDBC24ResultSet对象常用方法vnext()方法: 把当前的指针向下移动一位。最初它位于第一行之前,因此第一次调用next将把指针置于第一行上,使
15、它成为当前行。随着每次调用next导致指针向下移动,按照从上至下的次序 获取ResultSet行。8.2. JDBC25ResultSet结果集的取得vResultSet的使用 . . . ResultSet rst = stmt.executeQuery(Select * from User_Info);while (rst.next() System.out.println(rst.getString(userName);System.out.println(rst.getDate(regDate);System.out.println(rst.getString(4);System.ou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 Java数据库操作 Java 数据库 操作
