Skip to content

CallableStatement绑定参数

CallableStatement存在三种类型的参数IN、OUT和INOUT。

  • IN:创建SQL语句时其参数值未知。使用setXXX()方法将值绑定到IN参数。
  • OUT:由SQL语句返回的参数值。可以使用getXXX()方法从OUT参数中检索值。
  • INOUT:提供输入和输出值的参数。使用setXXX()方法绑定变量并使用getXXX()方法检索值。

示例1: 通过参数下标绑定参数

//存储过程调用语句
String sql ="{call pro_2(?,?,?)}";
//创建CallableStatement对象
CallableStatement cstm =  conn.prepareCall(sql);
//通过参数下标设置参数(IN参数)
cstm.setInt(1, 20490); 
//注册OUT参数数据类型
cstm.registerOutParameter(2, com.xugu.cloudjdbc.Types.VARCHAR);
cstm.registerOutParameter(3, com.xugu.cloudjdbc.Types.VARCHAR);
//执行存储过程调用
cstm.execute();
//获取存储过程输出参数
String name = (String)cstm.getObject(2);
String address = (String)cstm.getObject(3);

示例2: 通过参数名绑定参数

//存储过程调用语句
CallableStatement pstm = conn.prepareCall("insert into tt1 values(:id,:name)");
//通过参数名设置参数(IN参数)
pstm.setInt("id", 1);
pstm.setString("name", "cloud");
//执行存储过程调用
pstm.execute();