package CST对象调用存储过程; import java.sql.CallableStatement; import java.sql.Types; import org.junit.Test; import 配置方式.dbUtils.Connection2; /** * java调用存储过程 * * @author lx * */ public class CallableStatementDemo { /** * 调用存储过程 * * @throws Exception */ @Test public void callPro2() throws Exception { // 由于CallableStatement对象,继承了PST对象, // 所在它支持用?做为参数的占位符 String pro = "{call p1(?,?)}"; // 声明CST对象 CallableStatement cst = Connection2.GetCon().prepareCall(pro); // 可以设置参数 cst.setInt(1, 2); cst.setString(2, "张三"); // 执行 cst.executeUpdate(); } /** * 调用带有返回值过程 * @throws Exception */ @Test public void call2() throws Exception { // 第三个值为返回参数 String sql = "{call p2(?,?,?)}"; CallableStatement cst = Connection2.GetCon().prepareCall(sql); cst.setInt(1, 1); cst.setString(2, "JACK"); // 第三个值通过注册方法说明这是一个返回值 cst.registerOutParameter(3, Types.INTEGER); int a = cst.executeUpdate(); System.err.println("影响行数"+a); //获取返回值 int count =cst.getInt(3); System.err.println("现在的行数是"+count); Connection2.GetCon().close(); } }