import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
public class test {
public static void main(String[] arg) throws Exception {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接对象
String url="jdbc:mysql://localhost:3306/epet";
String user="root";
String password="123456";
Connection conn=DriverManager.getConnection(url, user, password);
//3.获取语句对象 调用存储过程名称 {call 存储过程名称 } 有参数可用{call P_test(?,?)}
String sql="{call P_test(?,?)}";
CallableStatement call=conn.prepareCall(sql);
//4.设置输出参数
call.setInt(2, 523);
//5.注册输出参数
call.registerOutParameter(3,Types.VARCHAR);
//6.执行存储过程
call.execute();
//7.获取输出参数
int sal=call.getInt(2);
System.out.println(sal);
//8.释放资源
call.cancel();
conn.close();
}
}