Ir al contenido principal

Patron Data Mapper ¿para que sirve? | Java Spring

Data Mapper

Para entender mejor esto te sugiero que leas y entiendas por completo como funcionan las arquitecturas de programación: 

Data Mapper nos ayuda a convertir o traducir dos objetos que pueden hacer la misma labor.


¿Qué logramos con esto? 

  • No se expone la BD a la API
  • No tener campos innecesariso en la API
  • Descooplar nuestra API a una base de datos puntual 
  • No se mezcla idiomas en el dominio
  • En el caso que se desee integrar una nueva base de datos con otros campos, pero que sea para el mismo proyecto, no es necesario cambiar todo el código, simplemente se crea otro traductor que sirva para traducir la nueva tabla al dominio

Para usarlo necesitaremos MapStruct El cual es un generador de código.:

Luego vas a documentación y si usas gradle serían estas 2 lineas para importarlo a tu proyecto spring: 

runtimeOnly("org.postgresql:postgresql")
implementation ("org.mapstruct:mapstruct:1.6.3")

Ahora vamos a usar un plugin para autocompletar las estructuras 
MapStruct Support Plugin for JetBrains IDEs | JetBrains Marketplace


Ejemplo de como usarlo: 

@Mapper(componentModel = "spring")
public interface CategoryMapper {

@Mappings({
@Mapping(source = "idCategoria", target="categoryId"),
@Mapping(source = "descripcion", target="category"),
@Mapping(source = "estado", target="active")
})
Category toCategory(Categoria categoria);

@InheritInverseConfiguration
@Mapping(target = "productos",ignore = true)
Categoria toCategoria(Category category);
}




Comentarios

Entradas más populares de este blog

Arquitectura N-Capas GUÍA COMPLETA .NET Core

Entendiendo la Arquitectura Limpia (Clean Architecture) en .NET: Una Guía Completa La Arquitectura Limpia, también conocida como arquitectura N-Capas, es un patrón de diseño que nos ayuda a crear aplicaciones mantenibles, testables y escalables. En este artículo, exploraremos en detalle cómo implementar esta arquitectura en un proyecto .NET. Si quieres entenderlo más fácil y con código, te dejo este otro artículo:   Arquitectura Limpia explicado con patitos 🐤 ¿Qué es la Arquitectura Limpia? La Arquitectura Limpia es un conjunto de principios de diseño que nos ayuda a separar las responsabilidades en diferentes capas de nuestra aplicación. Cada capa tiene una responsabilidad específica y se comunica con las otras capas a través de interfaces bien definidas. Estructura del Proyecto Una típica estructura de proyecto en Arquitectura Limpia se ve así: ├── Controllers/ │   └── ProductController.cs ├── Domain/ │   ├── Models/ │   └── DTOs/ ├── Repository/ │...

Archivo Application.properties en SPRING BOOT

  Guía Completa: Application.properties en Spring Boot El archivo application.properties es una pieza fundamental en aplicaciones Spring Boot, actuando como el centro de configuración para todo tu proyecto. En esta guía, exploraremos sus características principales y cómo aprovecharlo al máximo. ¿Qué es application.properties? Es un archivo de configuración que permite definir diferentes parámetros y valores para tu aplicación Spring Boot sin necesidad de modificar el código fuente. Se ubica en src/main/resources y Spring Boot lo lee automáticamente al iniciar. Configuraciones Esenciales Configuración del Servidor # Puerto del servidor server.port = 8080 # Contexto de la aplicación server.servlet.context-path = /miapp Conexión a Base de Datos # MySQL spring.datasource.url = jdbc:mysql://localhost:3306/mibasededatos spring.datasource.username = usuario spring.datasource.password = contraseña spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver JPA y Hibernat...

Implementar SpringDoc OpenAPI |Swagger en Java Spring en 2 PASOS

 Implementar Swagger en Java Spring  Te ayudaré a crear una introducción atractiva para tu blog sobre la implementación de Swagger en Java Spring. En el dinámico mundo del desarrollo de APIs REST, la documentación clara y accesible se ha convertido en un elemento crucial para el éxito de cualquier proyecto. Swagger, también conocido como OpenAPI, se ha establecido como el estándar de facto para documentar APIs de manera elegante y eficiente. Cuando se combina con Spring Framework, uno de los frameworks más populares en el ecosistema Java, obtenemos una poderosa herramienta que no solo mejora la documentación de nuestras APIs, sino que también facilita enormemente su prueba y mantenimiento. En este artículo, exploraremos paso a paso cómo integrar Swagger en tus aplicaciones Java Spring, transformando la tediosa tarea de documentar APIs en un proceso fluido y automatizado. Ya seas un desarrollador experimentado buscando optimizar tu flujo de trabajo o estés comenzando tu viaje...