graph LR
DAOs_Mappers["DAOs/Mappers"]
Domain_Model_Entities_["Domain Model (Entities)"]
MyBatis_Framework["MyBatis Framework"]
Service_Layer["Service Layer"]
Spring_Framework["Spring Framework"]
DAOs_Mappers -- "interacts with" --> MyBatis_Framework
DAOs_Mappers -- "returns data to" --> Service_Layer
DAOs_Mappers -- "exchanges" --> Domain_Model_Entities_
Spring_Framework -- "injects" --> DAOs_Mappers
Domain_Model_Entities_ -- "are consumed by" --> Service_Layer
Spring_Framework -- "integrates with" --> MyBatis_Framework
Abstract Components Overview
These are the central components of the Data Access Layer. They provide an abstract interface for interacting with the database, handling CRUD (Create, Read, Update, Delete) operations for specific entities. They utilize the MyBatis framework for mapping Java objects to SQL statements and vice-versa.
Related Classes/Methods: None
These are plain old Java objects (POJOs) that represent the core business entities and their attributes. They directly map to the tables in the MySQL database and serve as the data structures exchanged between the Data Access Layer and other layers.
Related Classes/Methods: None
An external persistence framework that simplifies database interactions by mapping SQL statements to Java objects. It is configured to work with the DAOs/Mappers, handling the low-level JDBC details and result set mapping.
Related Classes/Methods: None
This layer encapsulates the business logic of the application. It orchestrates operations, performs validations, and aggregates data, relying on the Data Access Layer to retrieve and persist data. It acts as the primary consumer of the DAOs/Mappers.
Related Classes/Methods: None
The overarching framework providing the Inversion of Control (IoC) container and Dependency Injection (DI). It manages the lifecycle of components, including the DAOs/Mappers, and injects their dependencies (e.g., data sources, MyBatis SqlSession) into other components.
Related Classes/Methods: None