java 調用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();              } }
相關文章
相關標籤/搜索