Java代码调用存储过程(JDBC)

2014-11-24 02:43:28 · 作者: · 浏览: 3

相关API:java.sql.CallableStatement


使用到java.sql.CallableStatement接口,该接口专门用来调用存储过程;


该对象的获得依赖于java.sql.Connection;


通过Connection实例的prepareCall()方法返回CallableStatement对象


prepareCall()内部为一固定写法{call 存储过程名(参数列表1,参数列表2)}可用 占位


eg: connection.prepareCall("{call proc_employee( )}");


存储过程中参数处理:


输入参数:通过java.sql.CallableStatement实例的setXXX()方法赋值,用法等同于java.sql.PreparedStatement


输出参数:通过java.sql.CallableStatement实例的registerOutParameter(参数位置, 参数类型)方法赋值,其中参数类型主要使用java.sql.Types中定义的类型


Java代码调用带输入参数的存储过程 (根据输入ID查询雇员信息)
publicvoid executeProcedure()


{


try {


/**


*callableStatementjava.sql.CallableStatement


*connectionjava.sql.Connection


*jdbc调用存储过程原型


*{call存储过程名(参数列表1,参数列表2)}可用 代替


*/


callableStatement=connection.prepareCall("{call proc_employee_findById( )}");


callableStatement.setInt(1, 1); //设置输入参数


resultSet=callableStatement.executeQuery();//执行存储过程


if(resultSet.next())


{


System.out.println(resultSet.getInt(1)+""t"+resultSet.getString(2));


}


} catch (SQLException e) {


e.printStackTrace();


}


}