From Java docs :
The ResultSet object is automatically closed by the Statement object, which generated it when this Statement object is closed, re-executed, or used to extract the next result from the sequence of several results.
Therefore, your mistake.
Your stmtStatement object is repeated every time in your loop for.
, :
, 1- ResultSet, , autoCommit, . , ResultSet , .
EDIT:
( OP - . )
- : ResultSet for. . ResultSet , Statement . Statement, for.