Mysql hat einen impliziten Cursor, den Sie auf magische Weise von einer gespeicherten Prozedur zurückgeben können, wenn Sie ein select ausgeben.
Hier ist ein Beispiel:
CREATE PROCEDURE `TEST`()
MODIFIES SQL DATA
BEGIN
SELECT * FROM test_table;
END;
und in Ihrem Java-Code:
String query = "{CALL TEST()}";
CallableStatement cs = con.prepareCall(query,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs = cs.executeQuery();