|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。
在年夜型数据库体系中,有两个很主要感化的功效,那就是存储历程和触发器。在数据库体系中不管是存储历程仍是触发器,都是经由过程SQL语句和把持流程语句的汇合来完成的。绝对来讲,数据库体系中的触发器也是一种存储历程。存储历程在数据库中运算时主动天生各类实行体例,因而,年夜年夜进步了对其运转时的实行速率。在年夜型数据库体系如Oracle、SQLServer中都不但供应了用户自界说存储历程的功效,同时也供应了很多可作为工具举行挪用的体系自带存储历程。
所谓存储历程(StoredProcedure),就是一组用于完成特定命据库功效的SQL语句集,该SQL语句集经由编译后存储在数据库体系中。在利用时分,用户经由过程指定已界说的存储历程名字并给出响应的存储历程参数来挪用并实行它,从而完成一个或一系列的数据库操纵。
因为J2EE系统一样平常创建年夜型的企业级使用体系,而一样平常都装备年夜型数据库体系如Oracle大概SQLServer,在本文《JAVA与Oracle存储历程》中将先容JAVA跟Oracle存储历程之间的互相使用跟互相间的各类挪用。
1、JAVA挪用Oracle存储历程
JAVA跟Oracle之间最经常使用的是JAVA挪用Oracle的存储历程,以下扼要申明下JAVA怎样对Oracle存储历程举行挪用。
Ⅰ、不带输入参数情形
历程称号为pro1,参数个数1个,数据范例为整形数据
import java.sql.*;
public class ProcedureNoArgs
{
public static void main(Stringargs[]) throws Exception
{
//加载Oracle驱动
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//取得Oracle数据库毗连
Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL",sUsr,sPwd");
//创立存储历程的对象
CallableStatementc=conn.divpareCall("{callpro1(?)}");
//给Oracle存储历程的参数设置值,将第一个参数的值设置成188
c.setInt(1,188);
//实行Oracle存储历程
c.execute();
conn.close();
}
}
Ⅱ、带输入参数的情形
历程称号为pro2,参数个数2个,数据范例为整形数据,前往值为整形范例
importjava.sql.*;
publicclassProcedureWithArgs
{
publicstaticvoidmain(Stringargs[])throwsException
{
//加载Oracle驱动
DriverManager.registerDriver(neworacle.jdbc.driver.OracleDriver());
//取得Oracle数据库毗连
Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL",sUsr,sPwd");
//创立Oracle存储历程的对象,挪用存储历程
CallableStatementc=conn.divpareCall("{callpro2(?,?)}");
//给Oracle存储历程的参数设置值,将第一个参数的值设置成188
c.setInt(1,188);
//注册存储历程的第二个参数
c.registerOutParameter(2,java.sql.Types.INTEGER);
//实行Oracle存储历程
c.execute();
//失掉存储历程的输入参数值并打印出来
System.out.println(c.getInt(2));
conn.close();
}
}
以上便是在JAVA中挪用Oracle存储历程的最复杂的实例,接上去将先容有关JAVA跟Oracle存储历程的其他方面内容。
但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net网页编程就不一样了,保持微软的一向风格,源代码不公开 |
|