java 調用mysql存儲過程

quan_Yu 8年前發布 | 14K 次閱讀 SQL MySQL

import java.sql.CallableStatement; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.Types;

/*

  • 對應的存儲過程 DROP PROCEDURE IF EXISTS pro_num_user; delimiter ;; CREATE PROCEDURE pro_num_user(IN user_name varchar(10) ,OUT count_num INT) READS SQL DATA BEGIN SELECT COUNT() INTO count_num FROM tab_user WHERE 'name'=user_name; END ;; delimiter ; / public class Test {

    public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver"; public static final String URL = "jdbc:mysql://127.0.0.1:3306/test"; public static final String USERNAME = "root"; public static final String PASSWORD = "acbee"; public static void main(String[] args) throws Exception {

     test1(); 
     test2(); 
    

    }

    public static void test1() throws Exception {

     Class.forName(DRIVER_CLASS); 
     Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); 
     String sql = "{CALL pro_num_user(?,?)}"; //調用存儲過程 
     CallableStatement cstm = connection.prepareCall(sql); //實例化對象cstm 
     cstm.setString(1, "myd"); //存儲過程輸入參數 
     //cstm.setInt(2, 2); // 存儲過程輸入參數 
     cstm.registerOutParameter(2, Types.INTEGER); // 設置返回值類型 即返回值 
     cstm.execute(); // 執行存儲過程 
     System.out.println(cstm.getInt(2)); 
     cstm.close(); 
     connection.close(); 
    

    }

    public static void test2() throws Exception {

     Class.forName(DRIVER_CLASS); 
     Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); 
     String sql = "{CALL pro_number(?,?,?)}"; //調用存儲過程 
     CallableStatement cstm = connection.prepareCall(sql); //實例化對象cstm 
     cstm.setInt(1, 2); // 存儲過程輸入參數 
     cstm.setInt(2, 2); // 存儲過程輸入參數 
     cstm.registerOutParameter(3, Types.INTEGER); // 設置返回值類型 即返回值 
     cstm.execute(); // 執行存儲過程 
     System.out.println(cstm.getInt(3)); 
     cstm.close(); 
     connection.close(); 
    
    

    } } </pre>

 本文由用戶 quan_Yu 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!