Java编写oracle存储过程,使用Java编写Oracle存储过程
1前言存储过程是存储在数据库中的一段存储程序。当创建存储过程时,系统会对其进行编译,并将执行代码存储到数据库中。数据表定义了如何在数据库中存储数据,但没有说明如何存取数据。开发人员通常会在其代码中编写一些特殊的查询语句,用于读写数据,这不仅会导致效率低下,还会带来安全性问题。使用存储过程可以提高应用的性能并使之更安全。此外,使用存储过程可以增加数据层的抽象级别,从而保护应用的其它部分不受数据布局和格式变化带来的影响。这样应用更可靠,更易于维护。2使用存储过程的优越性2.1运行速度加快在网站数据库服务器中,一般交互式的SQL命令,每次执行前数据库服务器都要为其建立预编译的过程。而存储过程在第一次执行之后,经过了优化和编译过程,储存在高速缓存之中。在接下来的运行中直接从高速缓存中执行,节省了大量时间,加快了执行速度。2.2网络负荷减少当客户端发出执行存储过程的请求时,只有执行存储过程的命令在内部网络上传送,当它们到达数据库服务器时,运行存储过程,客户端在网上只接收返回结果或状态信息,使得客户机与服务器的通讯量降至最小,大大减少了网络负荷。2.3安全机制可靠存储过程本身有很强的安全机制,只有具有相应的系统权限才能够调用相应的存储过程,或者只访问存储过程而不能够访问其中涉及的表或视图,只通过存储过程中所给出的功能来间接地操作数据库。在存储过程的代码中可以包含对信息和数据的合法性检查、对业务规格要求的各种完整性检查等。2.4团队开发方便网站程序编制过程中,JSP、Servlet等调用存储过程能够减少在程序开发中构造复杂SQL语句的难度。由于存储过程的可复用性、可共享性,使得存储过程可被多处重复使用,也可以被多个用户共享。在开发中反复使用存储过程,给网站的团队开发带来了极大的方便,而且使站点更易于维护和更新。2.5服务用户满意存储过程可以充分利用数据视点集中的原则,使用户把注意力集中在所关心的数据上,简化用户的数据查询操作,使不同的用户能够多角度“看待”同一数据,能够用存储过程建立复杂的查询,以非常复杂的方式更新数据库。同时存储过程能够自动对复杂或敏感的事务进行处理,以及对某些表进行各种处理,以保证这些表的数据完整性。当然这样使用户更满意了。设计存储过程,一般遵循两个原则,一是在定义存储过程时,要使其完成单一、相对集中的任务;二是在定义存储过程时,不要定义已经由其特征所提供功能的过程。3代码分析importjava.sql.*;importjava.io.*;importoracle.jdbc.driver.*;publicclassstoreprocude{//添加记录的存储过程publicstaticvoidaddUser(Stringname,Stringemail)throwsSQLException{//建立到数据库的默认连接Connectionconnection=newOracleDriver().defaultConnection();//构造动态的SQL语句Stringsql=”INSERTINTOstu_info(id,username,useremail)VALUES(id.nextval,?,?)”;try{//准备动态SQL语句PreparedStatementpstate=connection.prepareStatement(sql);//设置动态SQL语句参数pstate.setString(1,name);pstate.setString(2,email);pstate.executeUpdate();//执行动态SQL语句
还没有评论,来说两句吧...