{"id":1002,"date":"2023-08-09T20:03:30","date_gmt":"2023-08-09T23:03:30","guid":{"rendered":"https:\/\/martafagundez.com\/codevolution\/?p=1002"},"modified":"2024-11-20T01:39:08","modified_gmt":"2024-11-20T04:39:08","slug":"que-es-jdbc-y-como-funciona","status":"publish","type":"post","link":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/","title":{"rendered":"Qu\u00e9 es JDBC y c\u00f3mo Funciona"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>JDBC<\/strong> (Java DataBase Connectivity) es la <strong>API<\/strong> de Java que <strong>permite interactuar a una aplicaci\u00f3n Java con diversas fuentes de datos<\/strong> (desde bases de datos relacionales a hojas de c\u00e1lculo o archivos de texto).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">JDBC hace posible que una aplicaci\u00f3n Java pueda <strong>acceder a los datos almacenados<\/strong> en cualquiera de las bases de datos relacionales. De esta forma la aplicaci\u00f3n Java (seg\u00fan los permisos que tenga) puede insertar, modificar, eliminar y recuperar los datos de la base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En la interacci\u00f3n de una aplicaci\u00f3n Java con un <strong>Sistema Gestor de Base de Datos relacional<\/strong> (SGBD), JDBC se encarga de gestionar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la <strong>conexi\u00f3n<\/strong> de la aplicaci\u00f3n con el SGBD<\/li>\n\n\n\n<li>la <strong>emisi\u00f3n de consultas y comandos<\/strong> desde la aplicaci\u00f3n hacia el SGBD<\/li>\n\n\n\n<li>el <strong>manejo de los resultados<\/strong> que devuelve el SGBD a la aplicaci\u00f3n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"arquitectura-de-jdbc\">Arquitectura de JDBC<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Podr\u00edamos representar a JDBC como un asistente virtual que ha sido programado (mediante muchas clases, interfaces, m\u00e9todos y datos) para actuar como int\u00e9rprete y <strong>permitir la comunicaci\u00f3n e interacci\u00f3n entre una aplicaci\u00f3n Java y una aplicaci\u00f3n SGBD<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este asistente virtual, este int\u00e9rprete, tiene que poder entender \u00abel idioma\u00bb de ambas aplicaciones. Por eso su arquitectura tiene <strong>2 capas<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>una <strong>JDBC API<\/strong> (entiende el idioma de la aplicaci\u00f3n Java) y<\/li>\n\n\n\n<li>un <strong>JDBC driver<\/strong> (entiende el idioma de la aplicaci\u00f3n Java y el de un SGBD espec\u00edfico)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"jdbc-api\">JDBC API<\/h3>\n\n\n<p class=\"wp-block-paragraph\">La JDBC API define un <strong>conjunto de interfaces Java<\/strong> que encapsulan las funcionalidades y los datos necesarios <strong>para interactuar con una fuente de datos<\/strong> (por ejemplo, un SGBD).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">JDBC API <strong>es parte de las librer\u00edas est\u00e1ndar de Java SE<\/strong> (Java Standard Edition) y est\u00e1 compuesta por 2 paquetes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>java.sql<\/strong> y<\/li>\n\n\n\n<li><strong>javax.sql<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La JDBC API entiende el idioma de la aplicaci\u00f3n Java pero no entiende el idioma del SGBD (es fabricante-agn\u00f3stica).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, para poder interactuar con un SGBD en particular (Oracle, MySQL, PostgreSQL, etc.), la API utiliza un <strong>JDBC driver<\/strong>, que es la parte que entiende el idioma de ese SGBD espec\u00edfico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"990\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC1-1024x576.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-990\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC1-1024x576.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC1-300x169.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC1-768x432.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC1-1536x864.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC1.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"jdbc-driver\">JDBC Driver<\/h3>\n\n\n<p class=\"wp-block-paragraph\">El JDBC driver es la parte que entiende tanto el lenguaje de la aplicaci\u00f3n Java como el lenguaje del SGBD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay tantos JDBC Drivers como fuentes de datos a las que se puede acceder mediante la JDBC API. Pero s\u00f3lo es necesario instalar en nuestra aplicaci\u00f3n el driver de la fuente de datos a la que queremos que nuestra aplicaci\u00f3n acceda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para el caso del acceso a una base de datos relacional, <strong>cada fabricante de un SGBD proporciona su propio JDBC driver<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un JDBC driver consiste en un conjunto de clases que implementan las interfaces de la JDBC API.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A trav\u00e9s del driver <strong>el SGBD puede recibir y procesar las declaraciones SQL que le env\u00eda la aplicaci\u00f3n Java y retornar los resultados solicitados<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los resultados que entrega el SGBD no los entrega directamente a la aplicaci\u00f3n Java porque la aplicaci\u00f3n Java no entiende el idioma del SGBD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El SGBD entrega los resultados a la JDBC API (a trav\u00e9s del driver), y es la API quien los procesa y los entrega a la aplicaci\u00f3n Java.<br><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"991\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC2-1024x576.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-991\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC2-1024x576.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC2-300x169.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC2-768x432.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC2-1536x864.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC2.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"pasos-para-consultar-una-base-de-datos-mediante-jdbc\">Pasos para Consultar una Base de Datos mediante JDBC<\/h2>\n\n\n<p class=\"wp-block-paragraph\">El proceso de interacci\u00f3n de una aplicaci\u00f3n Java con un SGBD puede resumirse en 4 etapas:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"373\" data-id=\"997\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC8-1024x373.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-997\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC8-1024x373.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC8-300x109.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC8-768x280.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC8-1536x560.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC8.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"etapa-1---conectar-con-el-sgbd\">Etapa 1 &#8211; Conectar<\/h3>\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC9.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"515\" data-id=\"998\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC9-1024x515.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-998\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC9-1024x515.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC9-300x151.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC9-768x386.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC9-1536x773.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC9.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo primero que debemos hacer es verificar (mediante el m\u00e9todo <code>forName() <\/code>de la clase <code>Class<\/code>) que nuestra aplicaci\u00f3n Java <strong>cuenta con el int\u00e9rprete<\/strong>, con el JDBC driver que necesita para comunicarse con el SGBD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez confirmamos que nuestra aplicaci\u00f3n cuenta con el int\u00e9rprete adecuado, \u00e9sta puede intentar comunicarse con el SGBD. Para ello JDBC pone a nuestra disposici\u00f3n un objeto especial: el <strong>objeto Connection<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El objeto Connection es el recipiente donde nuestra aplicaci\u00f3n Java debe colocar los datos de que dispone para solicitarle al SGBD que le permita operar sobre la base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entonces JDBC toma el objeto Connection (que ahora contiene la cadena de conexi\u00f3n, el nombre y la contrase\u00f1a de un usuario de la base de datos) y <strong>con esos datos solicita al SGBD que le permita acceder a la base de datos<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si el SGBD verifica que las credenciales presentadas por la aplicaci\u00f3n Java son correctas, abre una conexi\u00f3n a trav\u00e9s de la cual recibir\u00e1 las instrucciones que la aplicaci\u00f3n le env\u00ede (mediante el JDBC driver).<br><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"992\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC3-1024x576.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-992\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC3-1024x576.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC3-300x169.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC3-768x432.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC3-1536x864.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC3.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"etapa-2---entregar-consulta-o-comando\">Etapa 2 &#8211; Consultar<\/h3>\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC10.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"515\" data-id=\"999\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC10-1024x515.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-999\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC10-1024x515.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC10-300x151.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC10-768x386.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC10-1536x773.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC10.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez establecida la conexi\u00f3n, JDBC utiliza el objeto Connection para fabricar otro objeto especial: <strong>el objeto Statement<\/strong> (mediante el m\u00e9todo <code>createStatement()<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este objeto Statement es el recipiente especializado donde nuestra aplicaci\u00f3n puede <strong>guardar las declaraciones SQL<\/strong> que quiere que el SGBD aplique sobre la base de datos.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"993\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC4-1024x576.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-993\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC4-1024x576.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC4-300x169.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC4-768x432.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC4-1536x864.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC4.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">JDBC utiliza el objeto Statement para <strong>transmitir las instrucciones de la aplicaci\u00f3n Java al SGBD<\/strong> a trav\u00e9s de algunos de sus m\u00e9todos, como por ejemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>executeUpdate()<\/code>&nbsp; para insert, delete, update<\/li>\n\n\n\n<li><code>executeQuery()<\/code> para consultas<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"etapa-3---procesar-resultados\">Etapa 3 &#8211; Procesar resultados<\/h3>\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-8 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC11.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"515\" data-id=\"1000\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC11-1024x515.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-1000\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC11-1024x515.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC11-300x151.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC11-768x386.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC11-1536x773.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC11.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que el SGBD cumpli\u00f3 con las instrucciones sobre la base de datos, <strong>har\u00e1 una devoluci\u00f3n a la JDBC API<\/strong> (mediante el JDBC driver) y \u00e9sta entregar\u00e1 esta informaci\u00f3n a la aplicaci\u00f3n Java.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Qu\u00e9 es lo que entrega la JDBC API depende del m\u00e9todo que invoc\u00f3 la aplicaci\u00f3n Java para pasarle las instrucciones SQL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, cuando pasamos una consulta mediante el m\u00e9todo <code>executeQuery()<\/code>, la JDBC API devolver\u00e1 un <strong>objeto ResultSet<\/strong> a la aplicaci\u00f3n Java.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-9 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"994\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC5-1024x576.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-994\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC5-1024x576.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC5-300x169.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC5-768x432.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC5-1536x864.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC5.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero, adem\u00e1s de entregar los resultados de la operaci\u00f3n, la JDBC API tambi\u00e9n ofrece m\u00e9todos para <strong>procesar dichos resultados<\/strong> (de ser necesario).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed, por ejemplo, un objeto ResultSet cuenta con varios m\u00e9todos para <strong>recorrer la informaci\u00f3n que contiene y extraer toda esa informaci\u00f3n (o parte de ella<\/strong>) para que la aplicaci\u00f3n Java pueda utilizarla, por ejemplo almacen\u00e1ndola en variables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-10 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"995\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC6-1024x576.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-995\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC6-1024x576.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC6-300x169.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC6-768x432.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC6-1536x864.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC6.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"etapa-4---cerrar\">Etapa 4 &#8211; Cerrar<\/h3>\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-11 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"1001\" src=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC12-1024x576.png\" loading=\"lazy\" alt=\"\" class=\"wp-image-1001\" srcset=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC12-1024x576.png 1024w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC12-300x169.png 300w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC12-768x432.png 768w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC12-1536x864.png 1536w, https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC12.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Una conexi\u00f3n a la base de datos consume recursos<\/strong> dentro de la aplicaci\u00f3n Java, y especialmente en el servidor de la base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por lo tanto, mantener abiertas las conexiones de base de datos que no se utilizan requerir\u00e1 que la base de datos mantenga asignados recursos para la conexi\u00f3n innecesariamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando usamos JDBC debemos<strong> asegurarnos de que se cierran todos los recursos que usamos<\/strong>. Todos los recursos, incluidos ResultSet, Statement y Connection, deben cerrarse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A partir de Java 7 podemos usar la instrucci\u00f3n <code><strong>try-with-resources<\/strong><\/code> para administrar autom\u00e1ticamente los recursos que usamos. Esta instrucci\u00f3n <code>try<\/code> cierra los recursos utilizados cuando el bloque finaliza su ejecuci\u00f3n (ya sea de forma normal o abrupta).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"ejemplo-de-uso\">Ejemplo de uso<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Este art\u00edculo es una presentaci\u00f3n conceptual del funcionamiento de la JDBC API.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En un pr\u00f3ximo art\u00edculo compartir\u00e9 un ejemplo de uso de esta API para establecer una conexi\u00f3n de una aplicaci\u00f3n Java con una base de datos de Oracle.\ud83e\udd13<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>JDBC (Java DataBase Connectivity) es la API de Java que permite interactuar a una aplicaci\u00f3n Java con diversas fuentes de datos (desde bases de datos&#8230;<\/p>\n","protected":false},"author":1,"featured_media":989,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[39,27,20,28],"tags":[35],"class_list":["post-1002","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-backend","category-bases-de-datos","category-java","category-oracle","tag-back-end"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Qu\u00e9 es JDBC y c\u00f3mo Funciona - CODEvolution<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Qu\u00e9 es JDBC y c\u00f3mo Funciona - CODEvolution\" \/>\n<meta property=\"og:description\" content=\"JDBC (Java DataBase Connectivity) es la API de Java que permite interactuar a una aplicaci\u00f3n Java con diversas fuentes de datos (desde bases de datos...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/\" \/>\n<meta property=\"og:site_name\" content=\"CODEvolution\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-09T23:03:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-20T04:39:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Marta Fag\u00fandez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marta Fag\u00fandez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/\"},\"author\":{\"name\":\"Marta Fag\u00fandez\",\"@id\":\"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/3e1e66d60048c83d5dff039f53b615e1\"},\"headline\":\"Qu\u00e9 es JDBC y c\u00f3mo Funciona\",\"datePublished\":\"2023-08-09T23:03:30+00:00\",\"dateModified\":\"2024-11-20T04:39:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/\"},\"wordCount\":1169,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/3e1e66d60048c83d5dff039f53b615e1\"},\"image\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png\",\"keywords\":[\"Back End\"],\"articleSection\":[\"Back End\",\"Bases de Datos\",\"Java\",\"Oracle\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/\",\"url\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/\",\"name\":\"Qu\u00e9 es JDBC y c\u00f3mo Funciona - CODEvolution\",\"isPartOf\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png\",\"datePublished\":\"2023-08-09T23:03:30+00:00\",\"dateModified\":\"2024-11-20T04:39:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#primaryimage\",\"url\":\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png\",\"contentUrl\":\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/martafagundez.com\/codevolution\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Qu\u00e9 es JDBC y c\u00f3mo Funciona\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/martafagundez.com\/codevolution\/#website\",\"url\":\"https:\/\/martafagundez.com\/codevolution\/\",\"name\":\"CODEvolution\",\"description\":\"Blog de Marta Fag\u00fandez\",\"publisher\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/3e1e66d60048c83d5dff039f53b615e1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/martafagundez.com\/codevolution\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/3e1e66d60048c83d5dff039f53b615e1\",\"name\":\"Marta Fag\u00fandez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/marta_fagundez_developer_avatar1.png\",\"contentUrl\":\"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/marta_fagundez_developer_avatar1.png\",\"width\":603,\"height\":603,\"caption\":\"Marta Fag\u00fandez\"},\"logo\":{\"@id\":\"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/image\/\"},\"description\":\"Aqu\u00ed comparto algunos de mis aprendizajes como desarrolladora web. Si alguno de mis art\u00edculos te ha resultado \u00fatil, me alegrar\u00eda saberlo ;)\",\"sameAs\":[\"https:\/\/martafagundez.com\",\"https:\/\/www.linkedin.com\/in\/martafagundezrodriguez\",\"https:\/\/www.youtube.com\/@martafagundez\"],\"url\":\"https:\/\/martafagundez.com\/codevolution\/author\/marta\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Qu\u00e9 es JDBC y c\u00f3mo Funciona - CODEvolution","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/","og_locale":"es_ES","og_type":"article","og_title":"Qu\u00e9 es JDBC y c\u00f3mo Funciona - CODEvolution","og_description":"JDBC (Java DataBase Connectivity) es la API de Java que permite interactuar a una aplicaci\u00f3n Java con diversas fuentes de datos (desde bases de datos...","og_url":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/","og_site_name":"CODEvolution","article_published_time":"2023-08-09T23:03:30+00:00","article_modified_time":"2024-11-20T04:39:08+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png","type":"image\/png"}],"author":"Marta Fag\u00fandez","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Marta Fag\u00fandez","Tiempo de lectura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#article","isPartOf":{"@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/"},"author":{"name":"Marta Fag\u00fandez","@id":"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/3e1e66d60048c83d5dff039f53b615e1"},"headline":"Qu\u00e9 es JDBC y c\u00f3mo Funciona","datePublished":"2023-08-09T23:03:30+00:00","dateModified":"2024-11-20T04:39:08+00:00","mainEntityOfPage":{"@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/"},"wordCount":1169,"commentCount":0,"publisher":{"@id":"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/3e1e66d60048c83d5dff039f53b615e1"},"image":{"@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#primaryimage"},"thumbnailUrl":"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png","keywords":["Back End"],"articleSection":["Back End","Bases de Datos","Java","Oracle"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/","url":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/","name":"Qu\u00e9 es JDBC y c\u00f3mo Funciona - CODEvolution","isPartOf":{"@id":"https:\/\/martafagundez.com\/codevolution\/#website"},"primaryImageOfPage":{"@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#primaryimage"},"image":{"@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#primaryimage"},"thumbnailUrl":"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png","datePublished":"2023-08-09T23:03:30+00:00","dateModified":"2024-11-20T04:39:08+00:00","breadcrumb":{"@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#primaryimage","url":"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png","contentUrl":"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/martafagundez.com\/codevolution\/que-es-jdbc-y-como-funciona\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/martafagundez.com\/codevolution\/"},{"@type":"ListItem","position":2,"name":"Qu\u00e9 es JDBC y c\u00f3mo Funciona"}]},{"@type":"WebSite","@id":"https:\/\/martafagundez.com\/codevolution\/#website","url":"https:\/\/martafagundez.com\/codevolution\/","name":"CODEvolution","description":"Blog de Marta Fag\u00fandez","publisher":{"@id":"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/3e1e66d60048c83d5dff039f53b615e1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/martafagundez.com\/codevolution\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/3e1e66d60048c83d5dff039f53b615e1","name":"Marta Fag\u00fandez","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/image\/","url":"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/marta_fagundez_developer_avatar1.png","contentUrl":"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/marta_fagundez_developer_avatar1.png","width":603,"height":603,"caption":"Marta Fag\u00fandez"},"logo":{"@id":"https:\/\/martafagundez.com\/codevolution\/#\/schema\/person\/image\/"},"description":"Aqu\u00ed comparto algunos de mis aprendizajes como desarrolladora web. Si alguno de mis art\u00edculos te ha resultado \u00fatil, me alegrar\u00eda saberlo ;)","sameAs":["https:\/\/martafagundez.com","https:\/\/www.linkedin.com\/in\/martafagundezrodriguez","https:\/\/www.youtube.com\/@martafagundez"],"url":"https:\/\/martafagundez.com\/codevolution\/author\/marta\/"}]}},"jetpack_featured_media_url":"https:\/\/martafagundez.com\/codevolution\/wp-content\/uploads\/2023\/08\/JDBC0.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/posts\/1002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/comments?post=1002"}],"version-history":[{"count":4,"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/posts\/1002\/revisions"}],"predecessor-version":[{"id":1006,"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/posts\/1002\/revisions\/1006"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/media\/989"}],"wp:attachment":[{"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/media?parent=1002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/categories?post=1002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/martafagundez.com\/codevolution\/wp-json\/wp\/v2\/tags?post=1002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}