Recipe 20.8 Using Stored Procedures with JDBC


Problem

You want to use a procedure stored in the database (a stored procedure).

Solution

Use a CallableStatement .

Discussion

A stored procedure is a series of SQL statements[5] stored as part of the database for use by any SQL user or programmer, including JDBC developers. Stored procedures are used for the same reasons as prepared statements: efficiency and convenience. Typically, the database administrator (DBA) at a large database shop sets up stored procedures and tells you what they are called, what parameters they require, and what they return. Putting the stored procedure itself into the database is totally database-dependent and not discussed here.

[5] And possibly some database-dependent utility statements.

Suppose that I wish to see a list of user accounts that have not been used for a certain length of time. Instead of coding this logic into a JDBC program, I might define it using database-specific statements to write and store a procedure in the database and then use the following code. Centralizing this logic in the database has some advantages for maintenance and also, in most databases, for speed:

CallableStatment cs = conn.prepareCall("{ call ListDefunctUsers }"); ResultSet rs = cs.executeQuery( );

I then process the ResultSet in the normal way.



Java Cookbook
Java Cookbook, Second Edition
ISBN: 0596007019
EAN: 2147483647
Year: 2003
Pages: 409
Authors: Ian F Darwin

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net