您的位置:首页 > 其它

jdbc调用带select返回结果的DEMO

2015-12-31 10:44 162 查看
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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: