jdbc调用带select返回结果的DEMO

来源:互联网 发布:不要网络的混乱大枪战 编辑:程序博客网 时间:2024/06/18 14:01
package demo;import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager;import java.sql.ResultSet; /** *  * @author Administrator  * @date 2015年12月2日 下午4:52:04  * @description JDBC调用存储过程demo类 */public class JdbcDemo1 {public static void main(String[] args) throws Exception {  System.out.println("---------测试调用存储过程-------");           Connection conn = null;         CallableStatement callStmt = null;         ResultSet rs = null;         String url = "jdbc:mysql://localhost:3306/";         String db = "testdatabase";         String driver = "com.mysql.jdbc.Driver";         String user = "root";         String pass = "root";                try {             Class.forName(driver);             conn = DriverManager.getConnection(url + db, user, pass);             callStmt = conn.prepareCall("{call test_procedure(?,?)}");             callStmt.setInt(1, 1);           callStmt.setInt(2, 10);                     /*   对应的存储过程            * delimiter //;            * create procedure test_procedure(num1 int,num2 int)            * begin            * select id,name,age from student where id = num1 and age = num2;            * end;            *  //            * delimiter ;            *             */                    callStmt.execute();  rs = callStmt.getResultSet();                      while(rs.next()) {          System.out.println("id=" + rs.getString("id") + ",name=" + rs.getString("name") + ",age=" + rs.getString("age"));           }            // System.out.println(callStmt.getInt(1));           System.out.println("-------测试调用存储过程结束 -------");                    } catch (Exception e) {             e.printStackTrace(System.out);         } finally {        rs.close();           callStmt.close();           conn.close();         }  }}

0 0