轻松学Java之JDBC数据库编程.ppt
《轻松学Java之JDBC数据库编程.ppt》由会员分享,可在线阅读,更多相关《轻松学Java之JDBC数据库编程.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第17章JDBC数据库编程数据库是存储数据信息的中心,是一个有组织的数据集合。而Java作为一门高级语言,能够方便的操作数据库。如果希望使用Java语言编写的程序能够动态地运行,就需要使用数据库对其进行数据的增、删、改等操作。而且大多数的项目都需要用到数据库的操作。所以这一章我们就来一起学习数据库编程的相关知识。17.1 数据库简介这一节我们先来介绍有关数据库的一些基本知识,包括数据库简介、SQL语言简介和JDBC简介。17.1.1 数据库简介数据库最简单的理解存放数据的仓库。最早的数据库基本就只有这个功能,即把数据从文件柜里面存入到计算机里面存储起来。随着社会的发展,数据量越来越大,同时数据
2、交换越来越频繁,原来的模式已经不能满足人们的需要了。我们现在所说的数据库都是关系型数据库。数据库的发展历程可以用图17.1来表示。17.1.2SQL语句简介SQL 是一种结构化查询语言,但使用SQL语言我们不仅仅简单的只能查询,我们可以对数据库进行修改、删除等各种操作。由于它强大的功能和简单容易学,现在已经成为了操作关系数据库的的主要语言。SQL语言的功能可以简化为9个动词,我们可以用图17.7来表示。17.1.3 JDBC简介JDBC(Java Database Connectivity)Java的数据库连接接口。它是Java API中的一部分,通过它可以将Java程序和关系数据库集成在一起
3、。在没有出现JDBC之前,我们要通过数据库厂商提供的API以及SQL语句对数据库进行操作,如图17.8所示。17.1.3 JDBC简介不同的数据库有不同的API接口。这样的话,对于实现同样功能的应用程序,针对不同的数据库,开发人员需要编写不同的代码,这样对Java设计人员是很不方便的。所以官方开发出了JDBC。它的使用方式如图17.9所示。17.1.3 JDBC简介从图17.9中可以看到,应用程序通过调用JDBC来操作数据库的过程,其实是由数据库厂商提供的JDBC驱动程序来负责的。如果要更换数据库,只要更换驱动程序,并在JDBC中载入新的驱动程序来源,即可完成数据库系统的变更。这样,大大减少了
4、程序员的工作量。17.1.3 JDBC简介JDBC允许任何使用Java语言编写的小应用程序或应用程序访问数据库。通过使用SQL语句可以对数据库中的数据进行相应的插入、删除和更新操作。JDBC由Java语言编写的相关类和接口组成。这些类和接口如表17.1所示。类型型类或者接口或者接口驱动程序程序DriverManager类、Driver 接口与特定数据与特定数据库连接接Connection接口执行行SQL语句句Statement接口、PreparedStatement接口提供数据提供数据库信息信息DatabaseMetaData接口结果集果集ResultSet接口17.1.3 JDBC简介表中类
5、或接口的作用如图17.10所示。17.2 JDBC数据库的连接Java程序的JDBC驱动类型可以分为四种形式。其具体含义如图17.11所示。在连接数据库时需要指明数据源,以及相关的一些参数。数据源主要包括两部分,其中protocol表示连接到数据库的驱动程序,DatabaseName表示数据库的名字。数据源的一般格式如图17.12所示。17.2 JDBC数据库的连接在连接数据库时,需要找到使用JDBC驱动程序类的名称。不同的数据库供应商的数据库产品都有自己的驱动程序,不同数据库的URL和驱动程序也有所不同。目前最常用的三种主流数据库驱动程序如图17.13所示。17.2 JDBC数据库的连接而使
6、用Java与数据库连接进行数据存取的过程如图17.14所示。17.2 JDBC数据库的连接从图17.14中我们可以看出使用Java与数据库连接执行数据存取的过程:(1)首先要加载当前数据源的驱动程序。通常使用Class.forName()方法加载,其加载方法如图17.15所示。(2)建立数据库的连接。可以通过DriverManager类中的getConnection方法来实现与数据库的连接,其连接方法如图17.16所示。17.2 JDBC数据库的连接(3)建立连接后就可以使用SQL语句对数据库进行访问。这就需要创建Statement对象。通过该对象可以执行相应的SQL语句并将其操作于数据库,其
7、创建方法如图17.17所示。(4)将SQL语句执行后的结果返回。执行的查询结果可以以ResultSet结果集的形式返回,其返回方式如图17.18所示。17.2 JDBC数据库的连接(5)对结果集进进行处理。例如,我们可以通过使用一个while循序获得结果集中的所有记录,如图17.19所示。(6)关闭数据库的连接。在执行完数据库的操作之后,需要将与数据库连接有关的对象关闭。主要包括Statement对象、Connection对象等。关闭方法如图17.20所示。17.3 数据库的操作在第一节中我们已经创建了一个数据库和一个数据库中的学生表。这一节我们将围绕这个数据库讲解对数据库具体的操作方法。17
8、.3.1 创建、修改和删除表由于我们有了MySQL Workbench 5.2 CE这一图形界面开发工具,所以对于创建、修改和删除表这些工作就变的身份容易了。我们先来看如何创建表。系统已经为我们自动设置了一个主键,我们可以将其修改为“TeacherId”,然后依次双击下一行添加添加属性完成表的创建。最后单击Apply按钮后,系统会自动弹出与创建表相对应的SQL语句。然后我们单击Apply检验程序能否正确运行。若运行正确,则会弹出如图17.26所示的窗口,我们单击Finish按钮结束创建过程。17.3.2 查询数据明白了如何创建、修改和删除表之后,我们再来看对数据库中表中数据的查询、增加、修改和
9、删除。这些操作也都可以使用图形界面来完成。但是由于在Java程序中我们多采用SQL语句对其进行操作,所以我们这几小节重点介绍如何利用SQL语句完成这些操作。17.3.3 条件查询在实际使用中,有时需要在数据库的表中查询满足条件的元组。例如,查询所有年龄在30岁以上的教师的信息,查询学校中计算机系和网络工程的所有教师信息等。在SQL语句中提供了比较、确定范围和集合、多重条件等多种查询条件的语句。常用的查询条件及相应的谓词如图17.37所示。17.3.3 条件查询IN可以用来查找表中的属性值是否属于指定集合中的元组。IS NULL用于空值查询,它不能用=代替。AND的优先级比OR的优先级高。谓词I
10、N可以看做是多个OR的缩写。SQL还提供了使用LIKE和NOT LIKE用于字符匹配的模糊查询方式。“%”表示任意0个或多个字符。可匹配任意类型和长度的字符。“_”表示任意单个字符。匹配单个任意字符,它一般用来限制表达式的字符长度。使用ESCAPE关键字定义转义符。在ESCAPE关键字之后的符号会被当作普通字符来处理。17.3.4 连接查询在实际使用SQL语句进行查询时,有时查询一张表的数据很难满足需要。很多时候都需要查询两张表甚至多张表中的数据,这就需要使用连接查询。SQL语句中连接查询包括内连接、外连接、自连接,以及嵌套查询。1.内连接查询内连接查询是将多个表连成一个表的查询。只有那些满足
11、查询条件的列才会出现在最后的表中。要查询表teacherinfo和表departmentinfo中计算机专业的教师信息,可以使用如图17.44所示的语句。2.自连接查询所谓自连接,就是一个表与其自己进行连接。例如可以为teacherinfo表取两个别名,一个是FT,一个是ST。使用自连接查询的语句如图17.45所示。3.嵌套查询在SQL语句中,可以将一个SELECT-FROM-WHERE语句嵌套在另一个查询语句的WHERE子句或HAVING短语的条件中。像这样的查询称为嵌套查询。嵌套查询可以包括带有IN谓词的子查询、带有比较运算符的子查询、带有ANY或ALL谓词的子查询和带有EXISTS谓词的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 轻松 Java JDBC 数据库 编程
限制150内