En esta clase vamos a crear el componente, la clase de acceso dato dado es una clase de persistencia
que se encarga de acceder a los datos.
La vamos a implementar con el Entity Manager de JPA.
Primero vamos a crear el package en Models con click derecho New Package.
En vez de Entity vamos a colocar daho de data access object.
Vamos a crear una interfaz antes de crear la clase.
Contiene el protocolo de comportamiento, es decir, los métodos que tienen que implementar la clase
DAO.
Entonces tenemos y de interfaz cliente Dao finalizar.
Vamos a crear un método.
Va a retornar una lista de cliente.
Cliente de la clase Entity, que está pegada a la tabla.
El método Find Holl, es decir, retornar todos.
Ahí tenemos la interfaz con un método que tienen que implementar toda la clase que implementan la interfaz.
Una firma sin implementar simplemente indica el nombre del método.
Guardamos y vamos a crear la clase dentro del mismo package new class cliente dado implemento imple
de implementar.
Bueno, acá podemos agregar la interfaz, por ejemplo, agregar otro cliente dado.
Finalizar, crea la clase con la implementación de forma automática.
Si queremos implementar a mano, implementas y cliente dado y acá nos marca un error y nos paramos por
sobre la clase y agregamos agregar método no implementado, automáticamente implementa el método de
la interfaz que es obligatorio.
El siguiente paso es decorar la clase con la anotación Repository.
Es una anotación de Spring para marcar la clase como componente de persistencia de acceso a datos.
Internamente el repository es un estereotipo de la clase component y por lo tanto marca la clase como
componentes Blinky y lo registra dentro del contenedor de Spring.
Lo marca como un tipo o estereotipo repository.
Un repository que aparte de ser un Vinz de acceso a datos, se encarga de traducir correctamente y con
detalle las excepciones que pueden ocurrir errores.
Por ejemplo, el tag taxes es empachos, da un mejor detalle y mucho más fácil de interpretar los errores.
Luego tenemos que tener el enteritis manager.
El Interim Manager se encarga de manejar las clases de entidades.
El ciclo de vida la persiste dentro del contexto, las actualiza, las elimina, puede realizar consultas,
es decir, todas las operaciones a la base datos, pero nivel de objeto a través de las clases Entity.
Por lo tanto, la consulta son siempre consulta de JPA, son consultas que van a la clase ENTITY, no
a la tabla.
Recordemos que la clase está mapea la tabla y justamente acá en el Fenol vamos a realizar una consulta
con Crédit Query.
From la clase cliente, con mayúscula y en singular.
Punto G result list y acá retorna el Estado cliente.
Acá lanza un Warne no hay ningún tipo de error.
Más que nada un Warne propio de Eclipse.
Usamos su pres Warne para suprimir el mensaje, faltaría agregar la anotación transaccional.
Con esta anotación marcamos el método como transaccional y le colocamos solamente de lectura, ya que
es una consulta cuando es un insert, un persis, ahí podemos omitir el rrea only, ya que no es solamente
lectura, sino también de escritura transaccional.
Es una anotación que va a tomar el contenido del método, lo va a envolver dentro de una transacción.
Eso le faltaría inyectar el entretén manager.
Utilizamos la anotación pertinente context que contiene la unidad de persistencia.
De forma automática iba a inyectar el Tim Manager según la configuración de la unidad de persistencia
que contiene el DataSource que contiene el proveedor JPA Por defecto, si no configuramos ningún tipo
de base dato ningún tipo de motor en el application property de forma automática, Spring Boot va a
utilizar la base de datos H2.
Embebida en nuestra aplicación.
Pero si tenemos que tener la dependencia, si configuramos el DataSource, va a utilizar esa configuración.
Por ahora vamos a utilizar HWI, ya que es la configuración por defecto y después vamos a trabajar con
Moise cueles.
La clase dado por ahora la vamos a dejar con el método Find All con el método Listar.
Después vamos a ir completando el ejemplo y vamos a agregar el CRUD completo para crear, para editar
y eliminar y también buscar por Heidy.
En la próxima clase vamos a implementar el controlador, vamos a crear el controlador para listar los
clientes.
Quedamos hasta acá.
Les habló el profesor.
Hasta la próxima.