Java调用存储过程的方法是通过调用Connection的实例方法prepareCall,prepareCall方法返回CallableStatement对象用于填充存储过程的参数。
创新互联专业为企业提供会昌网站建设、会昌做网站、会昌网站设计、会昌网站制作等企业网站建设、网页设计与制作、会昌企业网站模板建站服务,十余年会昌做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
这个调用存储过程的Java方法是mapping的一个好例子。Mapping是对一个集上的操作进行抽象的方法。不是在这个过程上返回一个集,我们可以把操作传送进去执行。本例中,操作就是把ResultSet打印到一个输出流。
调用存储过程得直接取得Connetion对象,用到CallableStatement这个对象,Connetion中有个方法:CallableStatement prepareCall(String sql) 。
api上的方法为 Connection.prepareCall(java.lang.String)prepareCall(String sql)throws SQLException 参数:sql - 可以包含一个或多个 ? 参数占位符的 SQL 语句。通常此语句是使用 JDBC 调用转义语法指定的。
1、已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参,另一种形式不带结果参数。结果参数是一种输出 (OUT) 参数,是已储存过程的返回值。
2、Statement stmt = con.createStatement();stmt.executeUpdate(createProcedure);存储过程SHOW_SUPPLIERS将作为一个可调用的数据库对象在数据库中编译并存储,调用时就像调用其他方法一样。
3、处理结果两种情况:执行更新返回的是本次操作影响到的记录数。执行查询返回的结果是一个ResultSet对象。ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。
4、sqlType 为 OUT 参数指定的 JDBC 类型确定必须用于 get 方法,以读取该参数值的 Java 类型。如果预期返回给此输出参数的 JDBC 类型是取决于此特定数据库的,则 sqlType 应该是 java.sql.Types.OTHER。
这个调用存储过程的Java方法是mapping的一个好例子。Mapping是对一个集上的操作进行抽象的方法。不是在这个过程上返回一个集,我们可以把操作传送进去执行。本例中,操作就是把ResultSet打印到一个输出流。
调用存储过程得直接取得Connetion对象,用到CallableStatement这个对象,Connetion中有个方法:CallableStatement prepareCall(String sql) 。
throws SQLException按顺序位置 parameterIndex 将 OUT 参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。sqlType 为 OUT 参数指定的 JDBC 类型确定必须用于 get 方法,以读取该参数值的 Java 类型。
应该在poets表中添加一列来存储逝世年龄。Java代码中并不关心数据库模式是怎么实现的,因为它仅调用存储过程。以后可以改变数据库模式以提高性能,但是不必修改代码。
interface CallableStatement extends PreparedStatement用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。