JDBC调用存储过程基本流程(SXT)
Demo
- import java.sql.*;
- public class TestProcedure
- {
- /**
- * @JDBC调用存储过程基本流程, procedure p 是4个参数的。第3和第4个为输出参数
- */
- public static void main(String[] args)
- {
- // TODO Auto-generated method stub
- Connection conn = null;
- CallableStatement cstmt = null;
- try
- {
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection(
- "jdbc:mysql://localhost:3306/college", "root", "123456");
- cstmt = conn.prepareCall("{call p (?,?,?,?)}");
- cstmt.registerOutParameter(3, Types.INTEGER);
- cstmt.registerOutParameter(4, Types.INTEGER);
- cstmt.setInt(1, 20);
- cstmt.setInt(2, 30);
- cstmt.setInt(4, 40);
- cstmt.execute();
- System.out.println(cstmt.getInt(3));
- System.out.println(cstmt.getInt(4));
- } catch (ClassNotFoundException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally
- {
- try
- {
- if (cstmt != null)
- {
- cstmt.close();
- cstmt = null;
- }
- if(conn != null)
- {
- conn.close();
- conn = null;
- }
- } catch (SQLException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }