Continuemos creando la clase producto repository.
Nos vamos al Project Explorer, la pestaña de proyectos con Alt 1, íbamos a crear una nueva clase en
repositorio, entonces con alt insert, un yaba class, una clase producto repositorio
le vamos a colocar IMPI de implemente una implementación concreta.
Entonces bueno class implementas repositorio y en generic vamos a pasar acá producto el tipo de la clase
y sobre el error con alt enter implementan métodos todos los métodos de la interfaz y listo.
Ahí lo tenemos.
Ahora tenemos que dar cuerpo, dar vida a estos métodos.
El liTat por Heidy Guardar y eliminar.
Bien, vamos a comenzar primero con el listar, pero para eso necesitamos primero la conexión.
Entonces podríamos tener un método privado que devuelva la conexión a la aceto Private Connection
Get conectado y vamos a importar conexión con Alt Enter importamos de java.
Se cuela bien.
Ratón.
Nuestra clase.
Base.
Dato.
Conexión.
Base.
Dato.
Punto.
Get incitas.
Lo mismo lanzamos en el método.
La acepción con frus entonces un método privado para obtener la conexión y lo vamos a utilizar tanto
en dictar, bucar, por Heidy, guardar y en otros métodos.
Vamos a partir primero en listar list del tipo producto
productos igual new ArrayList una lista.
Acá vamos a volver esta lista producto y la vamos a llenar con el producto desde la consulta.
Entonces acá devolvemos producto.
Ahora vamos a crear la sentencia.
Bueno, primero un try como recurso y dentro el estamento.
Vamos a importar de Java, se cuele ese TMT sentencia igual y la obtenemos travésdel que con este método
entonces nyet.
Connection punto cree estamento.
Perfecto.
Bajamos.
Bueno, punto y coma.
Bajamos y vamos a tener el result set.
Le vamos a llamar RC, vamos a importar primero acá con Alt Enter importamos.
Que sentencia punto execute querí?
Con la consulta select asterisco from la tabla Productos y listo.
Ahí la tenemos.
Entonces el sentencie y el result set.
Esos son los dos objetos que vamos a cerrar de forma automática con el auto.
Por eso lo tenemos en el trait y no el objeto Connection.
Porque recuerden, no podemos cerrar el objeto Connection, ya que es un singleton.
Podríamos revisar con control TAB la clase conexión base.
Se fijan si lo cerramos va a ser distinto, nulo, pero va a ser un recurso cerrado.
Por lo tanto, no vamos a tener una conexión activa y no vamos a poder seguir realizando consultas o
operaciones al hacerlo.
Pero es importante no cerrar el recurso de la conexión.
Eso lo cerramos después, al final de la aplicación, cuando no salgamos o al final del método Main.
Bien, pero acá obviamente tenemos que manejar errores con el trae el catch porque acá.
Bueno, vámonos acá al error con alt enter nos dice agregar una cláusula catch.
Bueno, y agregamos tanto en el statement como en el resources.
Pues es que la tabla productos pudiera ser que no exista.
Se fijan?
Entonces lo tenemos que manejar.
Vamos a cambiar el nombre a un label, lo vamos a borrar, lo cambiamos a E y lo mismo acá lo seleccionamos
y lo reemplazamos por él y listo.
Ahora bueno, qué faltaría iterar el cursor el result ser con Oogway y por cada registro la Sedatu.
Creamos un objeto producto y lo guardamos a la lista productos a esta lista que estamos devolviendo.
Veamos.
RC Punto.
Next.
Bajamos acá, vamos a crear un objeto producto.
Te vamos a llamar pé de producto igual new producto.
Hay diferentes opciones.
Podemos pasar todos los datos por constructor o bien mediante métodos set pedido un poco ordenado.
Lo vamos a hacer con el método Set.
Pero bueno, da lo mismo.
P Set Heidy.
R Sepulto Get to get lonko con el nombre de.
Punto Set.
Nombre Geet Strength.
Nombre se fijan ahora el precio guet.
Entero guet int.
El entero.
Con el precio.
Punto Set.
La fecha fue tarjeta RC, RC, punto Gheto Date.
Fecha?
Guión bajo qué faltaría?
Bueno, pasar el objeto producto que ya lo tenemos creado con toda su información del result set, con
todos los datos lo pasamos a la lista por cada uno, entonces la lista sería productos que tenemos nuestro
ArrayList punto a mi pasamos el producto y resto lo tenemos.
Bien, si se fijan el get dat acá devuelve un yaba se cuele punto dato pero el ya se cuele.
Si hacemos un control click por acá hereda de Yaba útil.
Por lo tanto, un yo SQL también es un yaba útil por detrás de escena.
Y como acá tenemos un set fecha registro que acepta un Jatin, lo podemos poblar porque el objeto ya
se cuele, pero también es ya útil.
Lo que no podemos hacer es pasar al revés, es decir, un yaba útil en un ya se cuela ahí tenemos que
hacer la conversión.
Bien, vamos a ver.
Nos vamos entonces a nuestro ejemplo que tenemos acá.
Ejemplo JDBC y lo podemos modificar.
Por ejemplo, esta línea de acá la podríamos eliminar completamente.
Vamos a quitar esa línea, el statement también.
Vamos a eliminar esta acá el result set la seleccionamos pero solamente hasta acá y le quitamos.
Bajamos y acá también lo quitamos.
Lo vamos a seleccionar hasta acá y lo eliminamos.
Perfecto.
Bueno.
Por qué importante el Connection?
Por qué estamos haciendo acá el traje de con ellos solamente por el autoclave?
Vamos a crear la instancia del repositorio del tipo de interfaz
pro-ducto.
Repositorio igual new producto repositorio.
Puerto Importar productos perfecto y fuerte, importar repositorio, perfecto, ahí lo tenemos ahora
Repositorio Listar Punto Foret.
Recuerden que es una lista.
Acá se emite el producto.
Shout.
P.
Punto Geet nombre, por ejemplo, vamos a probar.
Levantamos.
Tenemos bicicleta y Sanzo.
Por supuesto que esto acá el trae del conexión.
Bueno, necesitamos de alguna forma cerrar la conexión al acetato.
Si utilizamos el singleton, entonces una forma sería esto.
Ahora también lo podríamos cerrar de forma manual con el hecho en punto close.
Acá con el final dosifica, pero es mucho mejor esto de acá.
Entonces solamente esto está implementado para finalizar nada más.
Pero toda la operación es la.
Trabajamos con el repositorio para listar, para actualizar y entremedio de este Troi, con la conexión
abierta habilitada podemos realizar todas las operaciones que queramos ahora.
Otra alternativa es no tener esto acá.
Simplemente usamos solamente el repositorio, pero tendríamos que cerrar la conexión en cada operación,
en cada operación.
Por acá tendríamos que abrir y cerrar, por ejemplo en editar, abrir la conexión la obtenemos y posteriormente
después la cerramos con el punto Clouds.
Pero tendría que ser manual, o bien con el traje, con los recursos, pero siempre abriendo y cerrando
en el mismo método del repositorio por cada consulta o operación.
También depende de cómo lo queramos implementar, quizás dejar una sola conexión abierta para toda la
aplicación.
Esto es perfecto.
Es una alternativa.
Continuamos en la siguiente clase.