《Java与面向对象程序》-9.2 JDBC技术_第1页
《Java与面向对象程序》-9.2 JDBC技术_第2页
《Java与面向对象程序》-9.2 JDBC技术_第3页
《Java与面向对象程序》-9.2 JDBC技术_第4页
《Java与面向对象程序》-9.2 JDBC技术_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

学习目标了解JDBC,熟悉JDBC编程步骤,能编写简单的JDBC程序掌握数据库查询、更新、添加、删除操作的编程方法理解和掌握PreparedStatement、CallableStatement的使用主要内容JDBC技术【案例9-1】使用JDBC实现学生成绩管理系统JDBC概述JDBC(Java数据库连接)是一种用于执行SQL语句的JavaAPI,为多种关系数据库提供统一的访问方式,由一组用Java语言编写的类和接口组成。JDBC分为JDBC驱动程序和JDBCAPI。JDBC驱动程序把底层的DBMS私有信息转换成JDBCAPI能理解的底层消息,反之亦然。有了JDBC,向各种关系数据库发送SQL命令就是一件很容易的事。只要数据库厂商支持JDBC,并为数据库预留JDBC接口驱动程序,那么就不必为访问特定的数据库专门写一个程序,只需用JDBCAPI写一个程序就够了。JDBC原理如图所示第一个数据库连接的例子1.下载JDBC-MySQL数据库驱动可登录MySQL的官方网站/下载,具体网址:/downloads/connector/j/,下载mysql-connector-java-5.1.44.zip文件。将该文件解压缩,得到JDBC-MySQL驱动文件mysql-connector-java-5.1.44-bin.jar。将该驱动复制到JDK的lib目录中;如果使用Eclipse,需要在Eclipse中加载该驱动,找到驱动文件所在位置。第一个数据库连接的例子2.连接数据库第一个数据库连接的例子3.查询操作查询Student表并输出数据库常见操作查询姓张的学生信息,并按照学号升序排序输出。数据库常见操作更新、添加与删除操作数据库常见操作添加、修改、删除数据库。使用PreparedStatementPreparedStatement接口创建表示预编译的SQL语句对象。SQL语句经过预编译,并存储在PreparedStatement对象中。然后,此对象可用来多次有效地执行此语句PreparedStatement接口继承Statement类,两者在两方面有所不同:PreparedStatement实例包含已编译的SQL语句。由于PreparedStatement对象已预编译过,所以其执行速度要快于Statement对象。因此,多次执行的SQL语句经常创建为PreparedStatement对象,以提高效率。包含于PreparedStatement对象中的SQL语句可具有一个或多个IN参数。IN参数的值在SQL语句创建时未被指定。该语句为每个IN参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setXXX方法来提供。使用PreparedStatement实例:向学生表添加一条记录。使用CallableStatement数据库的存储过程存储过程可包含程序流、逻辑以及对数据库的查询。存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。存储过程具有以下优点。可以在单个存储过程中执行一系列SQL语句。可以在存储过程内引用其他存储过程,可以简化一系列复杂语句。存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。在JDBC组件中,CallableStatement接口对象为所有的DBMS提供了一种以标准形式调用存储过程的方法。通过CallableStatement对象可以实现对存储过程的调用。这种调用操作有两种形式:带结果参数的形式。不待结果参数的形式。结果参数是一种输出(OUT)参数,是存储过程的返回值。两种形式都可带有数量可变的输入(IN参数)、输出(OUT参数)或输入输出(INOUT参数)。问号(?)将用作参数的占位符。使用CallableStatement在JDBC中调用存储过程的语法如下所示:{call过程名[(?,?,?....)]}返回结果参数的过程的语法为:{?=call过程名[(?,?,?,…)]}不带参数的已存储过程语法为:{call过程名}使用CallableStatement创建存储过程CREATEPROCEDUREp_insert(insnovarchar(8),insnamevarchar(8),inssexvarchar(2),insbirthdaydate)BEGININSERTINTOStudent(stuno,stuname,sex,birthday)VALUES(sno,sname,ssex,sbirthday);END;使用CallableStatement使用CallableStatement接口对象使用CallableStatement【案例9-1】使用JDBC实现学生成绩管理系统

案例描述模拟一个学生成绩管理系统,使用9.1.2节中的数据库,实现成绩的添加,修改,删除,查询功能运行结果如图所示。

【案例9-1】使用JDBC实现学生成绩管理系统

设计目标能够独立完成“学生成绩管理系统”程序的源代码编写、编译及运行;掌握JDBC访问MySQL数据库;理解并掌握预处理语句。实现思路

通过案例描述可知,此程序中包含三个类,数据库

温馨提示

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

评论

0/150

提交评论