java代码调用存储过程和存储方法 - Go语言中文社区

java代码调用存储过程和存储方法


准备一个oracle 的JDBC jar 包:ojdbc14_11g.jar

首先找到你的 oracle 安装位置,例如:



1.创建一个JDBC数据库连接工具类:

[java]  view plain  copy
  1. package com.test.db;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.DriverManager;  
  5. import java.sql.ResultSet;  
  6. import java.sql.SQLException;  
  7. import java.sql.Statement;  
  8.   
  9. public class JDBCUtils {  
  10.   
  11.     private static String driver = "oracle.jdbc.OracleDriver";  
  12.     private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";  
  13.     private static String user = "数据库连接名";  
  14.     private static String password = "数据库连接密码";  
  15.       
  16.     //注册数据库驱动  
  17.     static{  
  18.         try {  
  19.             Class.forName(driver);  
  20.         } catch (Exception e) {  
  21.             throw new ExceptionInInitializerError(e);  
  22.         }  
  23.     }  
  24.       
  25.     /** 
  26.      * 获取数据库连接 
  27.      * @return 
  28.      */  
  29.     public static Connection getConnection(){  
  30.         try {  
  31.             return DriverManager.getConnection(url,user,password);  
  32.         } catch (SQLException e) {  
  33.             e.printStackTrace();  
  34.         }  
  35.         return null;  
  36.     }  
  37.       
  38.     /** 
  39.      * 释放数据库连接资源 
  40.      * @param conn 
  41.      * @param st 
  42.      * @param rs 
  43.      */  
  44.     public static void release(Connection conn,Statement st,ResultSet rs){  
  45.         if (rs!=null) {  
  46.             try {  
  47.                 rs.close();  
  48.             } catch (SQLException e) {  
  49.                 e.printStackTrace();  
  50.             }finally{  
  51.                 rs = null;  
  52.             }  
  53.         }  
  54.           
  55.         if (st!=null) {  
  56.             try {  
  57.                 st.close();  
  58.             } catch (SQLException e) {  
  59.                 e.printStackTrace();  
  60.             }finally{  
  61.                 st = null;  
  62.             }  
  63.         }  
  64.           
  65.         if (conn!=null) {  
  66.             try {  
  67.                 conn.close();  
  68.             } catch (SQLException e) {  
  69.                 e.printStackTrace();  
  70.             }finally{  
  71.                 conn = null;  
  72.             }  
  73.         }  
  74.     }  
  75. }  

2.调用 存储过程:

[java]  view plain  copy
  1. package com.test.demo;  
  2.   
  3. import java.sql.CallableStatement;  
  4. import java.sql.Connection;  
  5.   
  6. import org.junit.Test;  
  7.   
  8. import oracle.jdbc.internal.OracleTypes;  
  9. import oracle.jdbc.oracore.OracleType;  
  10.   
  11. import com.hwb.db.JDBCUtils;  
  12.   
  13. /** 
  14.  * 调用存储过程  一个输入参数,多个 输出参数 
  15.  * @author Administrator 
  16.  * 
  17.  */  
  18. public class ProcedureTest {  
  19.   
  20.     /** 
  21.      * create or replace procedure selectUserById(uid in number, 
  22.                                            uName out VARCHAR2, 
  23.                                            uAge out number, 
  24.                                            uSex out char) 
  25.      */  
  26.       
  27.     @Test  
  28.     public void testProcedure(){  
  29.           
  30.         String sql = "{call selectUserById(?,?,?,?)}";  
  31.           
  32.         Connection conn = null;  
  33.         CallableStatement call = null;  
  34.         try {  
  35.             //得到一个数据库连接  
  36.             conn = JDBCUtils.getConnection();  
  37.             //通过连接创建出statement  
  38.             call = conn.prepareCall(sql);  
  39. 版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
    原文链接:https://blog.csdn.net/chen213wb/article/details/80430703
    站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-21 21:46:06
  • 阅读 ( 770 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢