标题 | Java调用数据库存储过程的研究与实现 |
范文 | 李焕玲 摘要:存储过程是数据库中的一个重要对象,利用存储过程可以提高数据库的执行效率,提高数据库的安全性,并能减少网络数据的传输。本文介绍了存储过程的概念及分类,以及存储过程的创建方法,并詳细介绍了如何利用Java程序调用数据库存储过程。 关键词:数据库;存储过程;java;CallableStatement接口 分类号 TP311.13? ? ? ? 文献标识码:A 文章编号:1009-3044(2019)17-0014-02 开放科学(资源服务)标识码(OSID): 随着互联网+以及大数据时代的到来,如何提高数据的执行效率已成为数据处理的主要任务,存储过程是SQL Server数据库的重要技术,它具有强大的编程功能,并且还可以提高程序的执行效率,提高数据的安全性。 1 存储过程概述 1.1存储过程的概念 存储过程(Stored Procedure)是数据库中的一种对象,它是为了完成一个特定的任务而由SQL语句构成的集合。存储过程存储在数据库中,只需要一次编译后即可重复使用。 1.2 存储过程的分类 1)系统存储过程 这类存储过程是由SQL Server系统提供的,可进行各种数据库的基本设计。用户可直接使用,如:sp_renamedb可对数据库进行更名,该类存储过程名以sp_开头。 2)本地存储过程 这类存储过程是由用户创建的,该存储过程是为了完成一个具体的功能,一般所说的存储过程就是指本地存储过程。 3)临时存储过程 这类存储过程存放在临时数据库(tempdb)中,其中以#开头的称为本地临时存储过程,只有创建它的用户才可以使用。另一种以##开并没有的称全局临时存储过程,该存储过程可以被连接到数据库服务器上的所有用户访问执行。 4)远程存储过程 这类存储过程是存放在远程服务器上的存储过程,用户可以进行远程访问。 5)扩展存储过程 这类存储过程是用户使用外部程序语言编写的存储过程,名称一般以xp_开头。 1.3 存储过程的特点 1)提高运行效率 由于存储过程在创建的时候,数据库已经对其进行了解析和优化,以后就可以直接运行而不需要重新编译。而普通的SQL语句每次执行时都要进行编译,所以使用存储过程的执行速度会比普通SQL语句快,从而提高数据库的运行效率。 2)减少网络传输 存储过程直接在数据库服务器上运行,数据的访问都在数据库服务器内部进行,执行结束后只需将运行结果返回给客户端,而客户端调用存储过程只需要传输存储过程名和相关参数即可,这就比传输SQL语句的数据量少,所以会减少一定的网络传输。 3)可重复使用 存储过程一旦创建好后可以重复使用,从而减少数据库开发人员的工作量。 4)安全性高 通过向用户授予权限,可设定只有特定用户才具有对指定存储过程的使用权限。 2 创建存储过程 以SQL Server数据库为例,设计定在SQL Server中已创建了数据库mydb,并在该数据库中创建了student表:student(sno,sname,sex,sbirth),接下来将创建几种常用的存储过程。 2.1 不带参数的存储过程 该类存储过程创建完成后,只能完成一个具体的任务,在执行时无须用户输入参数。 例如创建p_xs01存储过程,要求查询所有学生年龄。该存储过程返回所有学生的年龄,其代码如下: 2.2 带输入参数的存储过程 该类存储过程可以扩展存储过程的功能,可以完成一类任务,在执行时通过用户输入参数,将外部信息传递到存储过程中。 例如:创建p_xs02存储过程,要求输入一个学生的姓名并显示该学生的年龄。该存储过程有一个输入参数学生姓名,并且返回该学生的年龄,其代码如下: 2.3 带输入和输出参数的存储过程 存储过程的参数可以是输入也可以是输出,通过输入过程可以将外部信息传递给存储过程,通过输出参数可以将信息输出到屏幕,输出参数在使用时需使用output关键字声明。 例如:创建p_xs03存储过程,要求输入一个学生的姓名,并且输出该学生的年龄。该存储过程有一个输入参数学生姓名,一个输出参数年龄,其代码如下: 3 Java调用存储过程 3)创建数据库连接对象。 3.1调用不带参数的存储过程 其中,c是数据库连接对象,通过调用p_xs02存储过程,可将王美的年龄输出。 3.3 调用带输入和输出参数的存储过程 4 总结 在Java程序设计中,数据访问是非常重要的,只有通过调用数据库中的存储过程,才能提高数据库的执行效率,减少网络传输,使得SQL语句更加安全,所以掌握存储过程对数据库操作是非常重要的。 参考文献: [1] 齐文娟. 对SQL Server存储过程的研究与应用[J].廊坊师范学院学报:自然科学版,2010(8). [2] 郝爱语. 通过存储过程更新数据为技术的探究与实现[J].软件导刊,2010(10). [3] 陈雅.SQL Server数据库存储过程应用研究[J].中国科技信息,2017(5). [4] 张梅梅.SQL Server 2008中的存储过程的研究及应用[J].中国市场,2016(6). [5] 韩翔宇.数据库存储过程的探讨及应用[J].信息系统工程,2015(12). [6] 陈潇.SQL Server2008数据库存储过程的应用[J].软件工程师,2015(6). [7] 调用存储过程.https://blog.csdn.net/aigochina/article/details/7956936 [8] 百度百科.https://baike.baidu.com/ 【通联编辑:王力】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。