package test; //javase imports import java.io.PrintWriter; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Types; import java.util.Properties; public class Test57183b { static final String DATABASE_USERNAME_KEY = "db.user"; static final String DEFAULT_DATABASE_USERNAME = "user"; static final String DATABASE_PASSWORD_KEY = "db.pwd"; static final String DEFAULT_DATABASE_PASSWORD = "password"; static final String DATABASE_URL_KEY = "db.url"; static final String DATABASE_DRIVER = "com.mysql.jdbc.Driver"; static final String STORED_PROC = "InOutArgsSP"; static final String CREATE_STORED_PROC = "CREATE PROCEDURE " + STORED_PROC + " (IN T VARCHAR(20), OUT U VARCHAR(20), OUT V NUMERIC)" + "\nBEGIN" + "\n\tset U = CONCAT('barf-' , T);" + "\n\tset V = 55;" + "\nEND"; static final String DROP_STORED_PROC = "DROP PROCEDURE InOutArgsSP"; static String username; static String password; static String url; public static void main(String[] args) { DriverManager.setLogWriter(new PrintWriter((System.err))); username = System.getProperty(DATABASE_USERNAME_KEY, DEFAULT_DATABASE_USERNAME); password = System.getProperty(DATABASE_PASSWORD_KEY, DEFAULT_DATABASE_PASSWORD); url = System.getProperty(DATABASE_URL_KEY); if (url == null) { // no default System.err.println("error retrieving database url"); System.exit(-1); } Connection conn = null; try { conn = getConnection(); } catch (Exception e) { e.printStackTrace(); System.exit(-1); } try { CallableStatement cStmt = conn.prepareCall("{ CALL " + STORED_PROC + "(?, ?, ?) }"); cStmt.setObject(1, "yuck", Types.VARCHAR); cStmt.registerOutParameter(2, Types.VARCHAR); cStmt.registerOutParameter(3, Types.INTEGER); cStmt.execute(); } catch (Exception e) { e.printStackTrace(); } } static Connection getConnection() throws SQLException { Properties props = new Properties(); props.put("user", username); props.put("password", password); return DriverManager.getConnection(url, props); } }