仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 686|回复: 8
打印 上一主题 下一主题

[学习教程] 了解下JAVA的JAVA与Oracle存储历程(一)

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:19:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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网页编程就不一样了,保持微软的一向风格,源代码不公开
莫相离 该用户已被删除
沙发
发表于 2015-1-20 20:38:59 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
海妖 该用户已被删除
板凳
 楼主| 发表于 2015-1-24 16:03:57 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
分手快乐 该用户已被删除
地板
发表于 2015-1-31 20:47:38 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
山那边是海 该用户已被删除
5#
发表于 2015-2-4 21:16:25 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
活着的死人 该用户已被删除
6#
发表于 2015-2-27 00:55:59 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
老尸 该用户已被删除
7#
发表于 2015-3-8 11:50:58 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
乐观 该用户已被删除
8#
发表于 2015-3-12 16:46:34 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-20 00:35:25 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:58

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表