Java的数据库编程_第1页
Java的数据库编程_第2页
Java的数据库编程_第3页
Java的数据库编程_第4页
Java的数据库编程_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、十一、Java的数据库编程,关系型数据库概述 JDBC简介 JDBC的主要接口 JDBC的使用,Java的网络开发,2,1. 关系型数据库概述,数据库概念 数据库数据的集合,它由一个或多个表组成。每一个表中都存储了对一类对象的数据描述 关系数据库将数据表示为表的集合,通过建立简单表之间的关系来定义结构的一种数据库,Java的网络开发,3,关系型数据库,一个关系数据库基本上包括一系列相互关连的表,在每一个表中存有一类与应用系统相关的数据。例如一个学生管理的数据库中,可能有关于学生学号、姓名、住址、电话号码以及系别等方面的表,Java的网络开发,4,SQL语言,SQL(Sequence Query

2、 Language,结构化查询语言)是操纵数据库的标准语言。 非过程化语言 统一语言 关系数据库的公共语言,Java的网络开发,5,常用SQL语句,DDL创建表 CREATE TABLE STUDENT ( studentno CHAR(8) NOT NULL, firstname CHAR(10) NOT NULL, lastname CHAR(10) NOT NULL, birthday DATE, gender CHAR(1) DEFAULT M );,Java的网络开发,6,DML插入数据、修改数据、删除数据 插入数据 当一个表新建成时,它里面没有数据,通过向表中插入数据,建成表的实例

3、。 语句句法: INSERT INTO 表名(列名1,) VALUES(值1,值2,,值n) 子查询; 例:将新学生刘备增加到Student表中,并按照表的结构将信息添加完整,需要如下语句: INSERT INTO STUDENT VALUES(020005, 聪,何,1982-2-23,M);,Java的网络开发,7,修改数据 对表中已有数据进行修改,语句句法: UPDATE 表名 SET 列名1表达式1,列名2表达式2, WHERE 条件; 例如,还是对表9-1: 将学号为020101的名字改为宇飞,应该执行以下语句: UPDATE STUDENT SET firstname=宇文 WHE

4、RE StudentNO=020101;,Java的网络开发,8,删除数据 删除表中已经存在的数据,注意:不能删除不存在的数据。 语句句法: DELETE FROM 表名 WHERE 条件; 例如:对Student表进行删除,要删除其中学号为021900的学生; DELETE FROM STUDENT WHERE Studentno021900;,Java的网络开发,9,DQL查询语句 1)查询学号为021900的学生: SELECT * FROM STUDENT WHERE StudentNo=021900; 2)查询所有姓名以A开头的学生的姓名; SELECT STUDENT.FirstN

5、ame, STUDENT.LastName FROM STUDENT WHERE LastName LIKE A%; 3)将所有学生按学号顺序升序排列; SELECT * FROM STUDENT ORDER BY StudentNo DESC; 4)将所有学生按学号顺序升序排列; SELECT * FROM STUDENT ORDER BY StudentNo ASC;,Java的网络开发,10,2. JDBC简介,JDBC (Java DataBase Connectivity)是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成。 JDBC是一种规范,它让各

6、数据库厂商为Java程序员提供标准的数据库访问类和接口,这样就使得独立于DBMS的Java应用程序的开发工具和产品成为可能。,Java的网络开发,11,JDBC的应用场景、使用规范及应用目标,SQL级API 遵循SQL JDBC必须建立在现有的数据库接口上 与Java系统的其他部分保持一致 保持简单 尽量保持强的、静态的类型检查 使普通任务简化 不同的功能让不同的方法来实现,Java的网络开发,12,3. JDBC的主要接口,数据库驱动相关 -java.sql.Driver,Java的网络开发,13,-java.sql.DriverManager,Java的网络开发,14,数据库连接-java

7、.sql.Connection,Java的网络开发,15,查询和结果表示-java.sql.Statement,Java的网络开发,16,-java.sql.ResultSet,Java的网络开发,17,4. JDBC的应用,JDBC和JDBC/ODBC解决方案,Java的网络开发,18,ODBC,ODBC(Open Database Connectivity,开放数据库互连)一族API,主要与数据库打交道,利用ODBC API, 可通过统一界面和各不相同的数据库进行交互。 通过ODBC访问数据库由四个组成部分: 应用程序(Application,程序) ODBC 管理器(ODBC manag

8、er) ODBC 驱动程序(ODBC Drivers) 数据源(Data Sources,数据库) 访问数据库的模式 程序ODBC管理器ODBC驱动程序DS,Java的网络开发,19,ODBC的设置,1)Windows资源管理器控制面板管理工具 ODBC数据源(可能操作系统的不同会有差别); 2)单击用户DSN页。在这里,可以选择一个已经存在的数据源对它进行修改,或者添加一个新的。,Java的网络开发,20,3)接下来,系统会提示选择驱动程序,采用Microsoft Access Driver,也可以根据具体的条件选择;,Java的网络开发,21,4)安装一个ODBC数据源,Java的网络开发

9、,22,如果新建数据源,就要选择具体数据库的位置。如果在前一步选择已经存在的数据源,则可以在这里对它进行重新选取数据库、修复、压缩等操作。同时还可以通过高级选项来定义用户名,密码等。,Java的网络开发,23,5)定义新建数据源的名字,对新建数据源进行描述 。至此,我们已经完成了用户DSN的设置,在用户DSN里面多了一个名为javadb的数据源。,Java的网络开发,24,JDBC的使用,装载驱动程序 装载驱动程序只需要非常简单的一行代码。如果想要使用JDBC/ODBC桥驱动程序,可以用下列代码装载它: Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);

10、建立连接 第二步就是用适当的Driver类与DBMS建立一个连接。下列代码是一般的做法: Connection con = DriverManager.getConnection(url, Login, Password);,Java的网络开发,25,查询数据库 为了下面的演示,可以使用Microsoft Access编辑刚刚建立的数据源javadb。使用设计向导创建一个名为student的表接着输入一些测试数据。,Java的网络开发,26,JDBC示例,public class JDBCDemo public static void main(String args) String driv

11、erClass = sun.jdbc.odbc.JdbcOdbcDriver; String url = jdbc:odbc:javadb; String columnNames = new Stringstudentno, lastname, firstname, gender, birthday; String displayNames = new String学号, 姓, 名, 性别, 生日; try /加载驱动程序 Class.forName(driverClass); catch (ClassNotFoundException e) /驱动程序加载不成功,打印错误信息并退出 Syst

12、em.out.println(Can not find driver “ + driverClass); System.exit(-1); Connection con;,Java的网络开发,27,try /获得jdbc 连接 con = DriverManager.getConnection(url); /创建Statement对象 Statement stmt = con.createStatement(); /得到查询结果集 ResultSet rs = stmt.executeQuery(select * from student); for (int i = 0; i display

13、Names.length; i+) System.out.print(displayNamesi + t); /打印表头 System.out.println(); while (rs.next() /打印结果集 for (int i = 0; i columnNames.length; i+) System.out.print(rs.getString(columnNamesi) + t); System.out.println(); ,Java的网络开发,28,stmt.close(); catch (SQLException sqe) sqe.printStackTrace(); finally /关闭数据库连接 try con.close(); catch (Exception e) ,Java的网络开发,29,编写JDBC程序一般步骤,加载驱动程序 Class.forName(driverClass); 获得jdbc 连接 Connection con =

温馨提示

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

评论

0/150

提交评论