- public static void main(String[] args) {
- // 数据库驱动的名称
- String driver = "oracle.jdbc.OracleDriver";
- // 访问数据库路径 localhost 表示本机 (127.0.0.1),xxx 表示数据库名称
- String url = "jdbc:oracle:thin:@localhost:1521:xxx";
- // 用户名
- String username = "kfxx";
- // 密码
- String password = "kfxx";
- Connection conn = null;
- CallableStatement statement = null;
- try {
- // 加载驱动
- Class.forName(driver);
- // 连接
- conn = DriverManager.getConnection(url, username, password);
- // 请求的存储过程 (包名. 存储过程名称, 四个? 表示参数)
- String sql = "{call LFF_TEST_PACKAGE.LFF_TEST_PROCEDURE(?,?,?,?)}";
- statement = conn.prepareCall(sql);
- // 传入的参数
- statement.setInt(1,21);
- // 返回的参数 (oracle.jdbc.OracleTypes.VARCHAR 表示返回参数类型)
- statement.registerOutParameter(2,oracle.jdbc.OracleTypes.VARCHAR);
- statement.registerOutParameter(3,oracle.jdbc.OracleTypes.VARCHAR);
- statement.registerOutParameter(4,oracle.jdbc.OracleTypes.VARCHAR);
- // 执行
- statement.execute();
- // 拿到返回的值, 我的存储过程的参数 1 是传入参数, 2,3,4 是传出参数
- System.out.println(statement.getString(2) + ""+ statement.getString(3) +" "+ statement.getString(4));
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- }finally{
- try {
- // 关闭连接
- if(statement != null){
- statement.close();
- }
- if(conn != null){
- conn.close();
- }
- } catch (SQLException ex1) {
- }
- }
- }
- }
来源: http://www.linuxidc.com/Linux/2018-06/152801.htm