版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java高级程序设计第8章 Java数据库编程8.1 应用场景8.2 相关知识8.3 实施过程8.4 拓展知识8.5 拓展训练8.6 课后小结8.7 课后习题8.8 课堂实训8.1 应用场景 大多数软件系统都需要处理非常庞大的数据,这些数据并不是使用数据或集合就能解决的,这时就需要借助数据库系统。数据库系统由数据库、数据库管理系统、应用系统和数据库管理员组成。数据库管理系统简称DBMS。目前有许多DBMS产品,如DB2、Oracle、Microsoft SQL Server 、Sybase、Informix、MySQL等,Java程序需要访问这些数据库,并对数据进行处理。8.2 相关知识8.2
2、.1 数据库访问技术简介8.2.2 JDBC连接数据库8.3.3 执行SQL操作8.2.1 数据库访问技术简介 数据库中的数据存放在数据库文件中,我们要从数据库文件中获取数据,先要连接并登陆到存放数据库的服务器。一般来说,访问数据库中的数据有两种方式:一是通过DBMS(DataBaseManagementSystem,数据库管理系统)提供的数据库操作工具来访问,如通过SQLServer2000的查询设计器来提交查询,或者通过SQLServer2000的企业管理工具来访问。这种方式比较适合DBA对数据库进行管理;二是通过API(ApplicationProgrammingInterface,应用
3、编程接口)来访问数据库,这种方式适合在应用程序中访问数据库。在数据库发展的初期,各个开发商为自己的数据库设计了各自不同的DBMS,因此不同类型的数据库之间数据交换非常困难。为了解决这个问题,Microsoft提出了ODBC(OpenDataBaseConnectivity,开放数据库互连)技术,试图建立一种统一的应用程序访问数据库接口,使开发人员无需了解程序内部结构就可以访问数据库。JDBC(Java Data Base Connectivity,Jjava数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDB
4、C提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 JDBC并不能直接访问数据库,需要借助于数据库厂商提供的JDBC驱动程序。JDBC中常用的类和接口可用于我们编程开发,利用这些类和接口可以方便的经行数据访问和处理。这些类和接口都位于java.sal包中。8.2.2 JDBC连接数据库JDBC简介之前我们介绍的数据库访问技术都是Microsoft提出的,主要用于Windows平台上Microsoft开发环境下的数据库连接和操作。而JDBC(Java Data Base Connectivity,Java数据库连接)是Java语言中用来规范客户端程序如何让
5、来访问数据库的应用程序接口。JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC保留ODBC的基本设计功能,在Web和Internet应用程序中的作用于ODBC在Windows系列平台应用程序中的作用类似,而且还具有对硬件平台、操作系统异构性的支持。8.3.3 执行SQL操作JDBC访问数据库访问数据库就是从数据库中提取数据或向数据库中保存数据,JDBC抽象了数据库进行交互的过程。首先在Java程序中要import java sql.* 语句导入java.sql包。当Java程序需要使用JDBC时,创建一个ja
6、va.sql.connection对象指向数据库。其次,要创建一个最基本的类是java.sql.statement,用于执行数据库操作。(1)加载连接数据库的驱动程序(2)建立连接(3)查询数据库(4)处理结果集(5)关闭查询语句及数据库连接8.3 任务实施任务一 编写程序实现对图书信息表的增删改查操作任务需求:现有图书信息表bookinfo(序号,图书编号,图书名称,作者,出版社,单价,出版日期,ISBN,库存数量)。写程序实现对该表的增删改查操作。任务分析:1.连接MySQL使用的数据库连接包: mysql-connector-java-3.1.14-bin.jar2.由于图书信息较多,我
7、们编写Book.java来存放信息3.因为每次执行SQL操作都要连接数据库,所以我们编写DBManager.java来统一管理数据库的连接和关闭,然后把数据库连接操作统一写进BookDAO.java设计:类图如图8-3-3所示。8.4 拓展知识数据库连接池数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数制
8、约。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素1. 最小连接数2. 最大连接数3. 最小连接数与最大连接数差距8.5 拓展训练任务:实现批量插入数据和批量删除数据分析:当进行多条信息删除的时候,需要使用Jjava的事务处置机制对数据库进行删除,也就是说删除的时候如果选中的要删除的说有信息其中一条没有成功删除的话,那么就都不删除。设计:1.将要批量删除的图书的ID
9、拼接成使用“,”隔开的字符串,使用BookInfoDAO中的deleteBookByID()方法进行删除。2.在BookInfoDAO.java中增加方法public boolean deleteBatch(String param)。8.6 课后小结1. JDBC。JDBC(Java DataBase Connectivity,Java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为开发人员提供了一标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java的API编写数据库应用程序
10、。2. JDBC连接数据库步骤。无论是普通Java程序、JavaWeb应用程序、EJB程序或是其他Java程序,使用JDBC操作数据库的步骤基本都是相对固定的。具体分为如下步骤:(1)注册驱动程序。即把驱动程序类加载到Java虚拟机中,使得驱动管理器DriverManager能够找到该驱动程序,一般通过Class.forName()进行加载;(2)获取数据库连接。java.sql.Connection接口代表一个数据库连接,它通过驱动管理器DriverManager来建立连接,并返回一个Connection接口的实现。同时需要指定连接URL、用户名和密码;(3)创建会话。JDBC的会话Stat
11、ement主要是用于向数据库发送SQL命令,并返回执行结果,由Connection生成;(4)执行SQL语句。会话创建好后程序员就可以执行具体的SQL语句了。一般分为查询和修改两种。查询主要是select语句,使用executeQuery()方法,它返回查询后的结果集;修改包括对数据库记录的插入、修改、删除,使用executeUpdate()方法,它执行后返回的是影响到的记录数;(5)处理结果集。对于查询语句,返回的是结果集ResultSet,一般使用ResultSet.next()方法对结果集进行逐条处理;(6)关闭连接。按照“结果集=会话=连接”的顺序关闭数据库连接8.7 课后习题三、简答题1.简述java.sql包中主要类的作用。2.简单描述使用JDBC访问数据库的基本步骤。3.常用的数据库操作对象有哪些?这些对象分别用来做什么?4.ResultSet对象的作用是什么?该对象的常用方法有哪些?5.删除、增加、修改和查询记录的SQL语法是什么?其对应的Statement方法又是什么?8.8 课堂实训实训一、参照书中代码,完成图书管理系统。要求:使用MySQL数据库自建图书表,字段为图书编号、书名、作者、分类、数量等(可自行添加),编写程序用JDBC方式连接数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械租赁合同协议书
- 标准房屋买卖合同模板:住宅转让合同
- 《社区服务》课件
- 有关产品加工合同模板集
- 《热牙胶充填技术》课件
- 《用户培训交流》课件
- 统编版一年级语文上册第五单元口语交际《交朋友》 公开课一等奖创新教学设计
- 《中医内科学黄疸》课件
- 膜法世家双十一活动
- 年产xxx激光防护眼镜项目可行性研究报告(可行性分析)
- DB32∕T 4111-2021 预应力混凝土实心方桩基础技术规程
- 地铁运营车站保洁
- 小学 主题班会:中国民间故事(11张PPT)
- 全球各主要股指期权市场做市商制度比较研究
- 《口腔修复学(一)》教学大纲
- 砌体结构知识讲解
- 佛山纺织调查报告
- 六年级趣味数学活动课堂(课堂PPT)
- 液压破碎锤液压系统的设计与研究
- 百灵达X1622USB - X2222USB - X2442USB - 中文说明书 - 图文-
- 植物中淀粉含量测定
评论
0/150
提交评论