import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
public class TestCallableStatement {
//调用简单的存储过程
public static void call1(){
Connection conn = new ConnectionUtil().openConnection();
try {
CallableStatement cstmt = conn.prepareCall("{call all_user()}");
ResultSet rs = cstmt.executeQuery();
while(rs.next()){
int id = rs.getInt(1);
String user = rs.getString(2);
String password = rs.getString(3);
int age = rs.getInt(4);
System.out.println(id+":"+user+":"+password+":"+age);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//调用有输入参数的存储过程
public static void call2(){
Connection conn = new ConnectionUtil().openConnection();
try {
CallableStatement cstmt = conn.prepareCall("{call insert_user(?,?,?)}");
cstmt.setString(1, "test1");
cstmt.setString(2, "test2");
cstmt.setInt(3, 3);
cstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//调用有输入输出参数的存储过程
public static void call3(){
Connection conn = new ConnectionUtil().openConnection();
try {
CallableStatement cstmt = conn.prepareCall("{call getAgeByName(?,?)}");
cstmt.setString(1, "redking");
//注册输出参数
cstmt.registerOutParameter(2, Types.INTEGER);
cstmt.execute();
int age = cstmt.getInt(2);
System.out.println(age);
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
CallableStatement
最新推荐文章于 2023-09-06 20:50:18 发布