content: import java.sql.*;
  import java.util.ArrayList;
  import java.util.List;
  
  public class UsuarioDAOImpl implements UsuarioDAO {
      private Connection conexion;
  
      public UsuarioDAOImpl(Connection conexion) {
          this.conexion = conexion;
      }
  
      @Override
      public Usuario obtenerUsuarioPorId(int id) {
          Usuario usuario = null;
          String query = "SELECT * FROM usuarios WHERE id = ?";
          try (PreparedStatement statement = conexion.prepareStatement(query)) {
              statement.setInt(1, id);
              ResultSet rs = statement.executeQuery();
              if (rs.next()) {
                  usuario = new Usuario(rs.getInt("id"), rs.getString("nombre"), rs.getString("email"));
              }
          } catch (SQLException e) {
              e.printStackTrace();
          }
          return usuario;
      }
  
      @Override
      public List<Usuario> obtenerTodosLosUsuarios() {
          List<Usuario> usuarios = new ArrayList<>();
          String query = "SELECT * FROM usuarios";
          try (Statement statement = conexion.createStatement()) {
              ResultSet rs = statement.executeQuery(query);
              while (rs.next()) {
                  Usuario usuario = new Usuario(rs.getInt("id"), rs.getString("nombre"), rs.getString("email"));
                  usuarios.add(usuario);
              }
          } catch (SQLException e) {
              e.printStackTrace();
          }
          return usuarios;
      }
  
      @Override
      public void insertarUsuario(Usuario usuario) {
          String query = "INSERT INTO usuarios (nombre, email) VALUES (?, ?)";
          try (PreparedStatement statement = conexion.prepareStatement(query)) {
              statement.setString(1, usuario.getNombre());
              statement.setString(2, usuario.getEmail());
              statement.executeUpdate();
          } catch (SQLException e) {
              e.printStackTrace();
          }
      }
  
      @Override
      public void actualizarUsuario(Usuario usuario) {
          String query = "UPDATE usuarios SET nombre = ?, email = ? WHERE id = ?";
          try (PreparedStatement statement = conexion.prepareStatement(query)) {
              statement.setString(1, usuario.getNombre());
              statement.setString(2, usuario.getEmail());
              statement.setInt(3, usuario.getId());
              statement.executeUpdate();
          } catch (SQLException e) {
              e.printStackTrace();
          }
      }
  
      @Override
      public void eliminarUsuario(int id) {
          String query = "DELETE FROM usuarios WHERE id = ?";
          try (PreparedStatement statement = conexion.prepareStatement(query)) {
              statement.setInt(1, id);
              statement.executeUpdate();
          } catch (SQLException e) {
              e.printStackTrace();
          }
      }
  }
  