I am not knowledgeable in this area. But referring the below link might help you to get answer for 1st question...
Get a load of that name! - Java World
2.
execute() use this to run any DDL statements or SQL statements that don't return any thing. Returns boolean.
executeQuery() - use this to capture and process output of a query. Returns ResultSet
executeUpdate() - use this to execute update SQL statements. Returns the number of rows updated with the current update statement execution. Returns integer.
Thanks,
Krishna