项目10 访问数据库_第1页
项目10 访问数据库_第2页
项目10 访问数据库_第3页
项目10 访问数据库_第4页
项目10 访问数据库_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

访问数据库项目十高等院校公共课系列精品教材Java开发综合实战找对学习方法,注重前后知识的迁移,能举一反三。鼓励应用创新,引导学生融会贯通,增强实践能力。思政目标能够利用常用的SQL语句查询、更新、添加和删除记录。能够使用JDBC操作数据库中的数据。技能目标在开发应用程序的过程中,数据库扮演着十分重要的角色,绝大多数的应用都需要使用数据库来存储和管理数据。JAVA提供了专门用于操作数据库的API,即JDBC(JavaDatabaseConnectivity,Java数据库连接),可以很容易地访问不同的数据库,对数据库中的记录实现查询、修改、删除和添加等操作。项目导读任务1SQL语法基础任务2使用JDBC访问数据库知识梳理SQL语法基础任务1任务1SQL语法基础任务引入小白创建的进销存管理系统使用数组存储商品信息,为便于后期的数据扩容和管理,他决定利用数据库存储、管理商品数据。为熟悉数据查询操作,他使用SQLServer创建了一个存储学生成绩的数据库performance,并创建了一个成绩表score、录入了数据。如果他要查询、更新、添加或删除数据库中的数据,可以使用什么语句呢?知识准备访问数据库要使用SQL语句。SQL(StructuredQueryLanguage,结构查询语言)是一个用于与数据库通信的数据库语言,是关系数据库管理系统的标准语言。SQL语句主要有以下3大类,每一类语言包含或多或少的语句,使用在不同的应用程序中。数据定义语言(DDL):用于定义数据的结构,例如创建、修改或删除数据库或数据库中的对象(如表、视图、存储过程、触发器等)。数据操纵语言(DML):用于操作数据表中的数据,主要包括数据的插入、删除、更新、查找、过滤和排序等,是最常用的核心SQL语言。数据控制语言(DCL):用于分配数据库用户的权限。任务1SQL语法基础一、select语句该语句用于在数据表中检索符合查询条件的数据行,仅包含指定的字段。其语法格式如下:SELECT所选字段列表FROM数据表名[WHERE查询条件表达式][ORDERBY字段名[ASC|DESC]如果要检索数据表中的所有列,可以使用通配符(*)替代字段列表。任务1SQL语法基础案例——查询成绩表SQLServer数据库performance中的score表由一群学生的成绩数据组成,每一行包含四个字段,即学生姓名、数学成绩、语文成绩和外语成绩,如图所示。任务1SQL语法基础

score表如果要查询该表中数学成绩在90及以上的学生名单及对应的数学成绩,并将结果按降序排列,可以利用如下SQL语句:SELECTname,MathFROMscoreWHERE(Math>=90)ORDERBYMathDESC查询的结果如图所示。任务1SQL语法基础二、insert语句INSERT语句用于在一个表中插入单行或多行数据,同时赋给每个列相应的值,如果这个值支持它们定义的物理顺序中的所有的值,则不需要字段名。其语法格式如下:INSERT[INTO]表名或视图名[(字段列表)]VALUES(字段值列表)例如,下面的语句在表score中插入了学生Alex的成绩记录:INSERTINTOscore(name,Math,Chinese,English)VALUES('Alex',87,93,92)任务1SQL语法基础其中,字段列表可以省略。执行上面的语句后,表score如图示。任务1SQL语法基础三、update语句UPDATE语句用于根据查询条件更新数据表中的某些字段值。其语法格式如下:UPDATE数据表名SET字段名1=字段值1,字段名2=字段值2……WHERE条件表达式例如,使用以下语句,可以在表score中修改olivia的数学和英语成绩:UPDATEscoreSETMath=89,English=92WHERE(name='Olivia')注意:SQL语句中的字符串应包含在单引号中。该语句执行之后,表score如图所示。任务1SQL语法基础更新记录后的score表四、delete语句该语句用于在数据库中删除符合指定条件的数据行,其语法格式如下:DELETEFROM数据表名[WHERE条件表达式]如果有查询条件,则删除与查询条件相符的数据行;如果没有查询条件,将删除所有的记录。例如,下面的语句删除表score中语文成绩小于90分的成绩记录:DELETEFROMscoreWHERE(Chinese<90)任务1SQL语法基础执行上面的语句后,score表如图所示。任务1SQL语法基础使用JDBC访问数据库任务2任务引入小白掌握了常用的查询语句后,想利用图形用户界面修改数据库中的数据,但是怎样将数据库与Java应用程序关联起来呢?他查看相关资料得知,JDBC为连接数据库提供了统一的规范,决定采用JDBC访问数据库。接下来该如何在系统中部署JDBC,连接数据库呢?查询数据后怎样输出满足条件的数据记录呢?任务2使用JDBC访问数据库知识准备一、JDBC概述JDBC是一套用于执行SQL语句的JavaAPI,提供了一套数据库操作标准,可以采用相同的API实现对多种关系型数据库的统一操作,从而提高Java程序多数据库的可移植性。简单来说,JDBC能完成下列三种功能:与一个数据库建立连接向数据库发送SQL语句处理数据库返回的结果JDBC由两层构成:上层是JDBCAPI;下层是JDBC驱动程序API任务2使用JDBC访问数据库二、部署JDBC驱动程序部署JDBC驱动程序JDBC针对每一个数据库厂商都提供了一个JDBC驱动程序。在连接到数据库之前,必须首先在本地计算机上安装数据库和JDBC驱动程序。不同版本的JDBC驱动程序对JRE的要求也不相同,因此部署JDBC驱动程序之前,要先选择正确的JAR类库文件。例如MicrosoftJDBCDriver10.2安装包中包含三个JAR类库:mssql-jdbc-10.2.0.jre8.jar、mssql-jdbc-10.2.0.jre11.jar和mssql-jdbc-10.2.0.jre17.jar。任务2使用JDBC访问数据库由于JDBC类库文件不是JavaSDK的一部分,因此,在下载合适的类库文件后,应将jar类库文件包含在用户应用程序的环境变量classpath中。如果使用JDBCDriver10.2,应在classpath中包括mssql-jdbc-10.2.0.jre8.jar、mssql-jdbc-10.2.0.jre11.jar或mssql-jdbc-10.2.0.jre17.jar,如图所示。任务2使用JDBC访问数据库设置变量CLASSPATH如果在IDE中运行访问数据库的Java项目,需要将JDBC数据库驱动包添加到当前项目的构建路径中,步骤如下。(1)在Eclipse中右击项目名,从弹出的快捷菜单中选择BuildPath→ConfigureBuildPath...命令。(2)在打开的对话框左侧窗格中选中“JavaBuildPath”节点,然后在Libraries选项卡中选中Classpath,单击AddLibrary...按钮,如图所示。(3)在打开的AddLibrary对话框的库列表框中选择“UserLibrary”,然后单击Next按钮,在弹出的对话框中,依次单击UserLibraries按钮,New按钮,新建一个用户库的名称。(4)依次单击OK按钮和ApplyandClose按钮关闭对话框。任务2使用JDBC访问数据库任务2使用JDBC访问数据库

项目属性对话框

创建的用户库(5)依次单击ApplyandClose按钮和Finish按钮关闭对话框。此时在项目的属性对话框中可以看到添加的类库路径,如图所示。(6)添加完成后,单击ApplyandClose按钮关闭对话框。任务2使用JDBC访问数据库添加的类库路径三、连接数据库使用JDBC数据库驱动方式和数据库建立连接需要经过两个步骤:(1)注册JDBC驱动程序;(2)与指定数据库建立连接。这些操作使用JDBC中的Driver接口、DriverManager类和Connection接口实现。1.注册驱动程序注册驱动程序就是将特定数据库的驱动程序类装载到JVM。每种数据库的驱动程序都提供一个实现Driver接口的类,简称Driver类,是应用程序必须首先加载的类,用于向驱动程序管理器(java.sql.DriverManager类)注册该类的实例,以便驱动程序管理器管理数据库驱动程序。任务2使用JDBC访问数据库2.建立连接注册数据库驱动程序后,JVM和数据库之间还没有直接联系,需要调用DriverManager类的静态方法getConnection()方法获得一个数据库连接对象,建立Java应用程序与指定数据库之间的联系。建立数据库连接对象的过程涉及两个主要API:java.sql.DriverManager类和java.sql.Connection接口。任务2使用JDBC访问数据库四、操作数据库与数据库建立连接后,就可以使用JDBC提供的API与数据库进行交互。交互的主要方式是使用SQL语句,JDBC将标准的SQL语句发送给数据库,数据库执行指令并处理查询结果,返回结果集。1.发送、执行SQL指令向数据库发送SQL指令需要使用Statement接口类对象声明一个SQL语句,然后通过创建的数据库连接对象调用方法createStatement()创建这个SQL语句对象任务2使用JDBC访问数据库Statement接口包含以下3种执行SQL语句的方法。execute(Stringsql):可执行任何SQL语句,返回结果为布尔值。如果值为true,表明有结果集,通常是执行了select查询语句;如果值为false,表明没有结果集,通常是执行了insert、delete、update等增删改语句。executeQuery(Stringsql):通常执行select查询语句,返回单个ResultSet结果集。executeUpdate(Stringsql):常用于执行DML和DDL语句,返回值为int型。任务2使用JDBC访问数据库任务2使用JDBC访问数据库2.返回结果集如果执行的SQL语句是查询语句,将返回一个ResultSet对象存放查询结果。ResultSet对象由按字段组织的数据行构成,并具有指向当前数据行的游标。任务2使用JDBC访问数据库任务2使用JDBC访问数据库注意:对数据库与Connection对象是有紧密联系的,如果使用close()方法关闭连接对象,ResultSet进行操作时,返回的ResultSet对象对象中的数据会即刻消失。因此,应在数据库操作结束后关闭数据库连接,释放资源,包括关闭ResultSet和Statement等资源。任务2使用JDBC访问数据库案例——修改学生成绩表本案例利用图形用户界面修改SQLServer数据库performance中的学生成绩表score。成绩表score的初始数据行如图所示。任务2使用JDBC访问数据库初始数据表

图形用户界面

插入记录任务2使用JDBC访问数据库修改记录

删除记录操作后的数据表项目总结为了便于存储、管理入库和出库商品,小白决定使用JDBC+SQLServer改进、完善进销存管理系统。(1)启动SQLServerManagementStudio并登录,新建一个名为products的数据库,然后在数据库中添加一个名为inbound的数据表。数据表的结构如图所示。(2)在Eclipse中复制并粘贴项目“进销存管理系统V9.0”,在CopyProject对话框中修改项目名称为“进销存管理系统V10.0”,然后单击Copy按钮关闭对话框。(3)在项目中添加与JRE匹配的JDBCJAR包文件(与JRE17匹配的包文件为mssql-jdbc-10.2.0.jre17.jar)。项目实战设计数据表inbound(4)在项目中添加一个名为data的包,然后在该包中添加一个名为DBConnect.java的类,用于管理数据库连接。(5)修改ServerControllers.java,通过操作数据库处理商品入库、出库和查询的操作。(6)依次运行Server.java和MainFrame.java,在客户端主界面单击“商品入库”按钮,入库两种商品,如图所示。此时打开数据库,在数据表中可以看到入库的商品信息,如图所示。项目实战商品入库

商品入库后的数据表(7)在客户端返回主界面,单击“商品出库”按钮,出库一种商品,如图所示,此时的数据

温馨提示

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

评论

0/150

提交评论