Alguém pode me ajudar com alguns JDBC iniciantes?

Como desenvolvedor de C # novo em Java, achei que seria mais fácil se eu simplesmente mostrasse um pouco de código C # para poder ver quais são as chamadas Java JDBC equivalentes:

String myConnectionString = "...";
String mySql = "select name from people where id = @myId";
int myId = 123456;

List<Field> fields = new List<Field>();
using (SqlConnection conn = new SqlConnection(myConnectionString)
{
  conn.Open();
  using (SqlCommand cmd = new SqlCommand(mySql,conn))
  {
    cmd.Parameters.AddWithValue("@myId", myId);
    using(SqlDataReader rdr = cmd.ExecuteReader())
    {
      while (rdr.Read())
      {
        String name = rdr.GetString(0);
        fields.Add(name);
      }
    }
  }
}

Agora eu sei que as instruções using acima fecharão o banco de dados com segurança se algo der errado, enquanto que com o java é um pouco mais complicado (tente ... finalmente ou algo assim). E em java, não tenho certeza do que exatamente precisa ser descartado ou fechado (ou o que seja) - apenas a conexão? Ou a declaração também?

Se você pudesse me ajudar, seria ótimo. Muito obrigado

edit: Eu realmente gosto do código aqui: (Manipulação de Exceções Java - Estilo)

Connection conn = MyDatabaseLayer.getConnection();
try {
  ... use conn ...
}
finally {
  conn.close();
}

No entanto, preciso executar mais um tratamento de exceção para garantir que a instrução e o leitor e todas as outras coisas sejam fechadas? Ou está fechando a conexão o suficiente?

questionAnswers(2)

yourAnswerToTheQuestion