免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1506 | 回复: 1
打印 上一主题 下一主题

数据库 oracle [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-19 20:18 |只看该作者 |倒序浏览

数据库 oracle
  1. /**
  2. 02
  3. 首先在数据库中创建存储过程(如:pl_pro),代码如下:
  4. 03
  5. create or replace procedure pl_emp(pl_name varchar2,salary number) is
  6. 04
  7. begin
  8. 05
  9.   --根据用户名去修改职工工资
  10. 06
  11.   update emp set sal=salary where ename=pl_name;
  12. 07
  13. end pl_pro;
  14. 08
  15. /
  16. 09
  17. */
  18. 10
  19. package testOraclePLSQL;
  20. 11

  21. 12
  22. import java.io.File;
  23. 13
  24. import java.io.FileInputStream;
  25. 14
  26. import java.io.IOException;
  27. 15
  28. import java.sql.CallableStatement;
  29. 16
  30. import java.sql.Connection;
  31. 17
  32. import java.sql.DriverManager;
  33. 18
  34. import java.sql.SQLException;
  35. 19
  36. import java.util.Properties;
  37. 20

  38. 21
  39. /**
  40. 22
  41. * 利用JDBC调用Oracle存储过程
  42. 23
  43. *
  44. 24
  45. * @author Nilux
  46. 25
  47. *
  48. 26
  49. */
  50. 27
  51. public class GetPLSQL {
  52. 28

  53. 29
  54.     // test
  55. 30
  56.     public static void main(String[] args) {
  57. 31
  58.         getConn();
  59. 32
  60.         execPLSQL();
  61. 33
  62.     }
  63. 34

  64. 35
  65.     static Connection conn;
  66. 36

  67. 37
  68.     // 获得连接
  69. 38
  70.     public static void getConn() {
  71. 39
  72.         FileInputStream fis = null;
  73. 40
  74.         // 读取Properties的配置
  75. 41
  76.         try {
  77. 42
  78.             fis = new FileInputStream(new File(
  79. 43
  80.                     "src/testOraclePLSQL/db.properties"));
  81. 44
  82.             Properties properties = new Properties();
  83. 45
  84.             properties.load(fis);
  85. 46
  86.             String url = properties.getProperty("db.url");
  87. 47
  88.             String user = properties.getProperty("db.user");
  89. 48
  90.             String password = properties.getProperty("db.password");
  91. 49
  92.             // 加载Oracle驱动
  93. 50
  94.             Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  95. 51
  96.             // 得到数据库连接
  97. 52
  98.             conn = DriverManager.getConnection(url, user, password);
  99. 53

  100. 54
  101.         } catch (Exception e) {
  102. 55
  103.             e.printStackTrace();
  104. 56
  105.         } finally {
  106. 57
  107.             try {
  108. 58
  109.                 fis.close();
  110. 59
  111.             } catch (IOException e) {
  112. 60
  113.                 e.printStackTrace();
  114. 61
  115.             }
  116. 62
  117.         }
  118. 63

  119. 64
  120.     }
  121. 65

  122. 66
  123.     // ................................//
  124. 67
  125.     public static void execPLSQL() {
  126. 68
  127.         CallableStatement cs = null;
  128. 69
  129.         try {
  130. 70
  131.             String sql = "{call pl_emp(?,?)}";
  132. 71
  133.             // 创建CallableStatement
  134. 72
  135.             cs = conn.prepareCall(sql);
  136. 73
  137.             // 给?赋相应的值
  138. 74
  139.             cs.setString(1, "SMITH");
  140. 75
  141.             cs.setInt(2, 1800);
  142. 76
  143.             // 执行
  144. 77
  145.             cs.execute();
  146. 78
  147.         } catch (Exception e) {
  148. 79
  149.             e.printStackTrace();
  150. 80
  151.         } finally {
  152. 81
  153.             if (conn != null) {
  154. 82
  155.                 try {
  156. 83
  157.                     // 关闭连接
  158. 84
  159.                     cs.close();
  160. 85
  161.                     conn.close();
  162. 86
  163.                 } catch (SQLException e1) {
  164. 87
  165.                     e1.printStackTrace();
  166. 88
  167.                 }
  168. 89
  169.             }
  170. 90
  171.         }
  172. 91
  173.     }
  174. 92
  175. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-03-19 20:18 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP