boolean execute(String sql)根据给定的sql串,可能返回多个结果。如果返回的第一个结果是一个结果集对象(ResultSet),该方法返回true;如果它返回更新影响的行数或没有返回结果,则该方法返回false。根据你的代码,你的sql串是一个查询语句,虽然没有返回实际记录,但返回类型是结果集对象(ResultSet),故执行execute()方法的返回值依然是true。
楼上正解