`
happyday
  • 浏览: 19774 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

在java中使用存储过程

阅读更多

   从某种意义上来说,存储过程也是一种数据库对象,他是为了执行某个特定任务,将一组预先编译的SQL语句以一个存储单元的形式放在服务器上,以供用户使用。

  存储过程总是在第一次执行的时候进行编译,然后将编译好的代码放在高速缓存中以便以后使用,这样可以提高代码的执行效率。

   存储过程常常具有以下特点:

(1)它可以接受输入参数,并可以返回输出参数,

(2)它包含执行数据库的sql语句

(3)一个储存过程在执行的过程中,还可以调用其他的存储过程。

下面我将逐步讲解怎么在java中使用存储过程。

第一个例子:利用存储过程向数据库中插入记录

第一步,建立相关的表:

create  table userTable 
(
  Id int  constraint id primary key,
  userName varchar(40) not null,
  userPassword varchar(40) not null,

)

 第二步:在sql数据库中创建存储过程:

CREATE PROCEDURE .[insert_userTable] 
(
@username  [varchar](40),
@password [varchar](40)

)
AS

insert into userTable (userName,userPassword)values (@username,@password)
GO

 

第三步就可以在java应用程序中,使用存储过程向数据库中插入了,具体代码如下:

CallableStatement callState=con.prepareCall("{call insert_userTable(?,?)}");
 callState.setString(1,"mingzi");
 callState.setString(2, "123456");
 callState.executeUpdate();

 这样我们就可以利用储存过程向数据库中插入数据了

分享到:
评论
3 楼 unsid 2009-01-16  
我问一个ORACLE存储过程问题,不知道是我错了还是。。。

我有一个方法要插入很多表,然后调用存储过程取一些值,处理这些值再插入一些表,这一系列步骤在一个事务里完成,我在conn.setAutoCommit(false)和conn.commit();之间调用了一些存储过程,那么这个事务总是任何记录都插不进去,难道oracle手动提交的事务中不能调用存储过程???
2 楼 javacool_zhou 2009-01-16  
(学习中)小弟也发表下自己的看法,
个人认为:
1.一般来说执行后台的存储过程要快!假如有业务的修改,可以直接修改存储过程,不用修改程序!
2.在某些特定情况下使用存储过程可以提高程序运行效率。
3.java开发考虑移植性,如果程序中过分的依赖存储过程完成业务,那么就过分的依赖数据库。。就降低了数据库的移植性。
1 楼 Baple 2009-01-16  
<div class="quote_title">happyday 写道</div>
<div class="quote_div">
<p> <span style="font-size: small;">  从某种意义上来说,存储过程也是一种数据库对象,他是为了执行某个特定任务,将一组预先编译的SQL语句以一个存储单元的形式放在服务器上,以供用户使用。</span></p>
<p><span style="font-size: small;">  存储过程总是在第一次执行的时候进行编译,然后将编译好的代码放在高速缓存中以便以后使用,这样可以提高代码的执行效率。</span></p>
<p><span style="font-size: small;">   存储过程常常具有以下特点:</span></p>
<p><span style="font-size: small;">(1)它可以接受输入参数,并可以返回输出参数,</span></p>
<p><span style="font-size: small;">(2)它包含执行数据库的sql语句</span></p>
<p><span style="font-size: small;">(3)一个储存过程在执行的过程中,还可以调用其他的存储过程。</span></p>
<p><span style="font-size: small;">下面我将逐步讲解怎么在java中使用存储过程。</span></p>
<p><span style="font-size: small;">第一个例子:利用存储过程向数据库中插入记录</span></p>
<p><span style="font-size: small;">第一步,建立相关的表:</span></p>
<pre name="code" class="java">create  table userTable
(
  Id int  constraint id primary key,
  userName varchar(40) not null,
  userPassword varchar(40) not null,

)</pre>
<p> 第二步:在sql数据库中创建存储过程:</p>
<pre name="code" class="java">CREATE PROCEDURE .[insert_userTable]
(
@username  [varchar](40),
@password [varchar](40)

)
AS

insert into userTable (userName,userPassword)values (@username,@password)
GO</pre>
<p> </p>
<p>第三步就可以在java应用程序中,使用存储过程向数据库中插入了,具体代码如下:</p>
<pre name="code" class="java">CallableStatement callState=con.prepareCall("{call insert_userTable(?,?)}");
callState.setString(1,"mingzi");
callState.setString(2, "123456");
callState.executeUpdate();</pre>
<p> 这样我们就可以利用储存过程向数据库中插入数据了</p>
</div>
<p> </p>

相关推荐

    java 调用存储过程

    java 调用存储过程java 调用存储过程java 调用存储过程java 调用存储过程java 调用存储过程java 调用存储过程java 调用存储过程

    使用java实现oracle存储过程

    使用java实现oracle存储过程。 共有3个小例子。实现的功能 1、无返回值的存储过程 如 insert 2、有返回值的存储过程(非列表)select id from tab 3、返回列表 如:select * from tab 顺便鄙视下csdn,作为一个it...

    java中存储过程的使用

    java中存储过程的使用,通过实例说明 建立一个向表中插入记录的存储过程 存储过程有返回值的使用 返回书本的名字和出版社,返回的是多个值

    Java程序调用存储过程

    Java程序调用存储过程 Java程序调用存储过程 Java程序调用存储过程 Java程序调用存储过程 Java程序调用存储过程

    java调用存储过程

    java,调用存储过程java,调用存储过程java,调用存储过程java,调用存储过程java,调用存储过程java,调用存储过程java,调用存储过程java,调用存储过程java,调用存储过程java,调用存储过程java,调用存储过程

    java调用oracle存储过程或者函数

    java调用oracle存储过程或者函数

    java调用oracle存储过程

    JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程

    JAVA调用ORACLE存储过程游标使用

    讲有关java如何调用ORACLE存储过程以及游标使用,它只包含JAVA调用ORACLE存储过程游标使用(上),还有JAVA调用ORACLE存储过程游标使用(上),

    java调用oracle存储过程实现增删改查

    java调用oracle存储过程实现增删改查

    Java调用数据库存储过程[mysql测试通过]

    Java调用数据库存储过程[mysql测试通过]

    java调用存储过程(含out参数)

    java调用存储过程的方法,含还有out参数的存储过程,解决方案,在网上找了n久发现这样的资源太少,现在总结一下我的解决方案供大家分享,希望对大家有用

    Java调用Mysql存储过程

    Java调用Mysql存储过程,Mysql存储过程源代码在该项目根目录下。

    java掉oracle存储过程

    java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉存储存储过java掉...

    使用Java编写Oracle存储过程.pdf

    使用Java编写Oracle存储过程.pdf

    Java中如何调用存储过程的代码

    Java中如何调用存储过程的代码 Java中如何调用存储过程的代码 Java中如何调用存储过程的代码

    如何在Java程序中调用存储过程

    Java程序中调用存储过程,数据库创建存储过程

    java 调存储过程

    java方法调存储过程,存储过程的写法以及含参数的输入输出

    用java调用oracle存储过程

    通过实例详细介绍了用java调用oracle存储过程的方法和步骤,包括无返回值的存储过程、有返回值的存储过程(非列表)和返回列表的存储过程的编写、JAVA调用,是一个对存储过程调用的一个全面总结,对程序开发具体实际...

    java 调用ORCAL存储过程

    Java 调用ORCAL存储过程 Java 调用ORCAL存储过程 Java 调用ORCAL存储过程 无返回值 有返回值

Global site tag (gtag.js) - Google Analytics