PreparedStatement permite ejecutar sentencias SQL precompiladas con parámetros de entrada sobre una conexión a una base de datos. Puede utilizarse el método executeUpdate() para ejecutar instrucciones SQL como INSERT, UPDATE o DELETE, o instrucciones DDL. CallableStatement hereda de PreparedStatement y permite manejar parámetros de salida y llamar a procedimientos almacenados.