日期:2014-05-16  浏览次数:20458 次

JDBC执行存储过程的四种情况

本文主要是总结?如何实现?JDBC调用Oracle的存储过程,从以下情况分别介绍:

  • [1]、只有输入IN参数,没有输出OUT参数
  • [2]、既有输入IN参数,也有输出OUT参数,输出是简单值(非列表)
  • [3]、既有输入IN参数,也有输出OUT参数,输出是列表
  • [4]、输入输出参数是同一个(IN OUT)

【准备工作】

? 创建一个测试表TMP_MICHAEL?,并插入数据,SQL如下:

Sql代码? ??
  1. create?table?TMP_MICHAEL??
  2. (??
  3. ??USER_ID????VARCHAR2(20),??
  4. ??USER_NAME??VARCHAR2(10),??
  5. ??SALARY?????NUMBER(8,2),??
  6. ??OTHER_INFO?VARCHAR2(100)??
  7. )??
  8. ??
  9. insert?into?TMP_MICHAEL?(USER_ID,?USER_NAME,?SALARY,?OTHER_INFO)??
  10. values?('michael',?'Michael',?5000,?'http://sjsky.iteye.com');??
  11. insert?into?TMP_MICHAEL?(USER_ID,?USER_NAME,?SALARY,?OTHER_INFO)??
  12. values?('zhangsan',?'张三',?10000,?null);??
  13. insert?into?TMP_MICHAEL?(USER_ID,?USER_NAME,?SALARY,?OTHER_INFO)??
  14. values?('aoi_sola',?'苍井空',?99999.99,?'twitter?account');??
  15. insert?into?TMP_MICHAEL?(USER_ID,?USER_NAME,?SALARY,?OTHER_INFO)??
  16. values?('李四',?'李四',?2500,?null);??

? Oracle jdbc 常量:

Java代码? ??
  1. private?final?static?String?DB_DRIVER?=?"oracle.jdbc.driver.OracleDriver";??
  2. private?final?static?String?DB_CONNECTION?=?"jdbc:oracle:thin:@127.0.0.1:1521:Ora11g";??
  3. private?final?static?String?DB_NAME?=?"mytest";??
  4. private?final?static?String?DB_PWd?=?"111111";??

?[一]、只有输入IN参数,没有输出OUT参数

?

?

存储过程 TEST_MICHAEL_NOOUT?的相关SQL:

Sql代码? ??