问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在JDBC里调用PLSQL创建的存储过程?

发布网友 发布时间:2022-04-08 02:18

我来回答

2个回答

懂视网 时间:2022-04-08 06:39

在JDBC简单封装的基础上实现

public class UserDao{

  public static void testGetUser(String userName) throws Exception{

    Connection conn=null;

    CallableStatement callableStatement=null;

    ResultSet resultSet=null;

    try{

      conn=JdbcUtils.getConnetcion();

      String sql="{call addUser(?,?,?,?)}";//调用数据库addUser存储过程,有四个参数,最后一个参数是输出新数据的ID

      callableStatement=conn.prepareCall(sql);

      callableStatement.setString(1,"test");

      callableStatement.setDate(2,new java.sql.Date(System.currentTimeMillis()));

      callableStatement.setFloat(3,100f);

      callableStatement.registerOutParameter(4,Types.INTEGER);

      callableStatement.excuteUpdate();

      int id=callableStatement.getInt(4);//获得存储过程的输出参数值

    }finally{

      JdbcUtils.freeResource(resultSet,preparedStatement,conn);

    }

  }

}

初学JDBC,调用存储过程

标签:

热心网友 时间:2022-04-08 03:47

import oracle.jdbc.*;
import oracle.sql.*;
import java.sql.*;
public class ReturnIndexTable
{
Connection ociconn=null;
OracleCallableStatement stmt =null;
public String[] getTable(String in_param)
{
String[] reAry=null;
try
{
OracleDriver S_Driver=null;
if(S_Driver==null)
S_Driver=new oracle.jdbc.OracleDriver();
DriverManager.registerDriver(S_Driver);
String url="jdbc:oracle:oci8:@test";
String user="user";
String password=" password";
ociconn= DriverManager.getConnection(url,user,password);
stmt =(OracleCallableStatement)ociconn.prepareCall("begin yejf_count(?,?); end;");
// 返回的索引表最大长度(可以大于索引表实际长度)
int maxLen =31;
// 索引表元素类型
int elemSqlType = OracleTypes.VARCHAR;
//索引表元素长度(CHAR, VARCHAR or RAW),其它元素类型可忽略该项值,但该参数仍须定义
int elemMaxLen=50;
stmt.setString(1,in_param);
// 注册返回参数
stmt.registerIndexTableOutParameter(2,maxLen,elemSqlType,elemMaxLen);
stmt.execute();
// 返回数组类型
reAry=(String[])stmt.getPlsqlIndexTable(2);
}
catch (Exception e)
{e.printStackTrace();
}
finally
{return reAry;
}
}
//关闭连接.............
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年9月走亲访友黄道吉日 2024年9月哪天适合走亲访友 2024年7月5日是走亲访友的黄道吉日吗 2024年7月5日适合走亲访友吗 交强险还需要交车船税吗 测评| 平安家易保(家财险):限商品房,自住版、房东版、租客版 女的23岁去读大学年龄是不是太大了? 请问中国石化怎么操作?23.00元买入的,能继续持有吗?中国石化的股改是怎... 600028我是21元买入的,现已经跌到15元多了,怎么办呀?赔死了!!_百度知 ... 请问600028中国石化现在还可以买吗? ...一个游戏机插在电视上耍的那种小游戏,超级玛丽,冒险岛等,你们还玩... 最难小游戏排行榜(十大最难玩的家庭小游戏) 听说滑雪大冒险2有好多逗比坐骑哇? 滑雪大冒险2新世界人物道具解析攻略 Ski Safari 2怎么玩 求 雪怪大冒险 Smallfoot 百度云免费在线观看资源 小米看电视猫闪退怎么办? 滑雪大冒险2怎样骑着雪怪跳150米?急求答案!谢谢! 创维电视用电视猫视频看视频为什么老是闪退 前世男主救女主被做成了人彘。女主重生,男主叫祁翊是摄政王。男主还有两个手下叫当归和黄芪,求小说名 滑雪大冒险2任务敲三下雪怪的帽子怎么完成 手机版的电视猫闪退啊,哪儿下新的 古代女主重生文,女主有二个妹妹,其中有一个妹妹是坐轮椅的,男主是女主的师兄,女主重生前,男主摄政王 滑雪大冒险2动物有什么作用 滑雪大冒险2任务敲三下雪怪的帽子 电脑版滑雪大冒险2如何完成一个特技? 电视猫tv版最近怎么了,我看电视的时候怎么总是自动退出软件了,说什么意外停止,是怎么回事啊! 家里能连上wifi但是不能上网? 滑雪大冒险2怎么骑着雪怪跳150米 电视猫tv为什么看一会就停止运行 电视猫看电影经常闪退是怎么回事 怎么查看注册时间? 雪莲果中间为什么是咸的? 找一本小说,女的好像是将军男的是摄政王,两人都是重生的 小米小盒子看电视猫老是闪退,有人遇到过吗 请问这是什么动漫电影? 电视猫怎么看不了影视 小米盒子看电视猫视频闪退的解决办法 女主叫小珍儿,男主是摄政王的古言小说 智能电视看电视猫闪退怎么办? 《雪怪大冒险》有哪些值得关注的细节? 重生小说男主是摄政王女主叫沈从容 《雪怪大冒险》中你最喜欢哪个人物,为什么喜欢? 猫播的服务器怎么回事,老是闪退? 《雪怪大冒险》动画里哪些情节让你觉得很真实? 女主重生男主摄政王,女主角小时候一直帮男主角,师兄妹 电视猫为什么不能看了 怎么评价动画电影《雪怪大冒险》? 一部小说的女主是绶靖长公主男主是摄政王小说叫什么名字? 求 雪怪大冒险 百度云免费在线观看资源 皇上是痴儿 女主是皇后 男主是个摄政王。的小说、什么名字? 讲述奇幻冒险的电影《雪怪大冒险》,它是如何受到广大小朋友喜爱的? 雪怪大冒险什么时候上映