java10(第10章 java数据库连接).ppt_第1页
java10(第10章 java数据库连接).ppt_第2页
java10(第10章 java数据库连接).ppt_第3页
java10(第10章 java数据库连接).ppt_第4页
java10(第10章 java数据库连接).ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

Java语言程序设计,清华大学出版社,第10章Java数据库连接,第10章主要内容,1、JDBC概述2、JDBC预备知识3、连接数据库4、JDBC编程实例,10.1JDBC概述,JDBC即Java数据库连接(JavaDatabaseConnectivity)。它由一组用Java语言编写的类和接口组成。JDBC为数据库及其工具开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。,JDBC的基本结构由Java应用程序、JDBC管理器、驱动程序或JDBC-ODBC桥和数据库四部分组成。,JDBC驱动程序有以下3类:(1)JDBC-ODBC桥驱动程序(2)数据库厂商专用的API结合Java驱动程序(3)网络协议搭配的Java驱动程序,10.2JDBC预备知识,SQL是英文Structuredquerylanguage的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。主要包括select、insert、update、delete、create以及drop在内的标准SQL命令被用来完成几乎所有的数据库操作。,10.2.1SQL语句的基本内容,1、数据表,一个典型的关系型数据库通常由一个或多个数据表组成。数据库中的所有数据或信息都被保存在这些数据表中。数据库中的每一个表都有惟一的表名,数据表由行和列组成,其中每一列(又称字段)包括了该列名称、数据类型以及列的属性等信息,而行则包含这些列的具体数据的记录。,2、数据查询,Select语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。Select语句的语法格式如下:selectcolumn1,column2,fromtablenamewherecondition;,Select语句中位于Select关键词之后的列名用来决定哪些列将作为查询结果返回。用户可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。语句中位于from关键词之后的表名用来决定将要进行查询操作的数据表。where可选句用来规定哪些数据值或哪些行将被作为查询结果返回或显示。,3、创建数据表,SQL语言中的createtable语句被用来建立新的数据表。createtable语句的使用格式如下:createtabletablename(column1datatype,column2datatype,);,使用SQL语句创建的数据表及表中的列的名称必须以字母开头,后面可以使用字母、数字或下划线,名称的长度不能超过30个字符。,4、向数据表中插入数据,SQL语言使用insert语句向数据表中插入或添加新的数据行。insert语句的使用格式如下:Insertintotablename(first_column,last_column)Values(first_value,last_value);,SQL语言使用update语句更新或修改符合规定条件的记录。update语句的使用格式为:updatetablenamesetcolumnname=newvalue,nextcolumn=newvalue2,wherecolumnnameOPERATORvalueand|orcolumnOPERATORvalue;,5、更新记录,6、删除记录,SQL语言使用delete语句删除数据表中的行或记录。delete语句格式如下:deleteformtablenamewherecolumnnameOPERATORvalueand|orOPERATORvalue;,在SQL语言中使用droptable命令删除某个数据表以及该表中的所有记录。droptable命令的使用格式如下:droptabletablename;,7、删除数据表,10.2.2JDBCAPI介绍,JDBCAPI所有的类和接口都集中在Java.sql和Javax.sql这两个包中。它的功能主要针对的是基本数据库编程服务,如生成连接、执行语句以及准备语句和运行批处理查询等。也有一些其他的高级功能。,一般编写JDBC程序编写步骤:,10.3连接数据库,Connection对象代表与数据库的连接。连接过程包括所执行的SQL语句和在该连接上所返回的结果。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。,10.3.1打开连接,与数据库建立连接的标准方法是调用DriverManager.getConnection方法。该方法接受含有某个URL的字符串。,比如,显示如何打开一个与位于URL“jdbc:odbc:wombat”的数据库的连接。所用的用户标识符为“oboy”,口令为“12Java”:Stringurl=jdbc:odbc:wombat;Connectioncon=DriverManager.getConnection(url,oboy,12Java);,URL(统一资源定位符)提供在Internet上定位资源所需的信息。URL的第一部份指定了访问信息所用的协议,后面总是跟着冒号。URL的其余部份(冒号后面的)给出了数据资源所处位置的有关信息。比如:,10.3.2URL的一般用法,JDBCURL提供了一种标识数据库的方法,可以使相应的驱动程序能识别该数据库并与之建立连接。JDBC的作用是提供某些约定,驱动程序编程员在构造他们的JDBCURL时应该遵循这些约定。,10.3.3JDBCURL,JDBCURL的标准语法如下所示。它由三部分组成,各部分间用冒号分隔:jdbc:,子协议odbc是一种特殊情况。它是为用于指定ODBC风格的数据资源名称的URL而保留的,并具有下列特性:允许在子名称(数据资源名称)后面指定任意多个属性值。odbc子协议的完整语法为:jdbc:odbc:;=,10.3.4odbc子协议,驱动程序编程员可保留某个名称以将之用作JDBCURL的子协议名。当DriverManager类将此名称加到已注册的驱动程序清单中时,为之保留该名称的驱动程序应能识别该名称并与它所标识的数据库建立连接。例如,odbc是为JDBC-ODBC桥而保留的。,10.3.5注册子协议,SQL语句连接一旦建立,就可用来向它所涉及的数据库传送SQL语句。JDBC对可被发送的SQL语句类型不加任何限制。这就提供了很大的灵活性,即允许使用特定的数据库语句或甚至于非SQL语句。,10.3.6发送SQL语句,JDBC提供了三个类,用于向数据库发送SQL语句:,(1)Statement由方法createStatement所创建。Statement对象用于发送简单的SQL语句(2)PreparedStatement由方法prepareStatement所创建。(3)CallableStatement由方法prepareCall所创建。,不同Connection方法来创建不同类型的SQL语句:createStatement方法用于:简单的SQL语句(不带参数)prepareStatement方法用于:带一个或多个IN参数、经常被执行的简单SQL语句prepareCall方法用于:调用已储存过程,10.4JDBC编程实例,1、加载驱动程序要连接数据库,首先要加载JDBC驱动程序。加载驱动程序的语句如下:Class.forName(JDBC驱动程序名);,10.4.1数据库编程的一般步骤,2、连接数据库连接数据库的语句如下:Connection连接变量;连接变量=DriverManager.getConnection(jdbc:odbc:数据源名称,用户名,密码);,3、向数据库发送SQL语句,处理结果要对已经连接成功的数据库进行各种操作,必须通过SQL语句来完成。因此必须先建立SQL语句对象。(1)建立SQL语句对象建立SQL语句对象的语句如下:StatementSQL语句对象名;SQL语句对象名=连接变量.createStatement();,(2)处理执行SQL语句的执行结果由SQL语句对象执行executeQuery()方法或executeUpdaate()方法,并将从数据库中返回的结果存放到ResultSet结果集对象中。处理查询记录或添加记录的SQL语句为:ResultSet结果集对象名=SQL语句对象名.executeQuery(SQL语句);处理修改记录或删除记录的SQL语句为:结果集对象名=SQL语句

温馨提示

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

评论

0/150

提交评论