Este proyecto es un backend básico desarrollado en Java que implementa un sistema CRUD (Create, Read, Update, Delete) conectado a una base de datos relacional. Está diseñado como un ejemplo de prueba para la gestión de información de una farmacia, utilizando cinco tablas principales: Farmaco, Laboratorio, Nacionalidad, Provincia y Ciudad.
- Java: Lenguaje principal
- MySQL: Base de datos relacional
- Maven: Gestión de dependencias
- Dotenv: Manejo de variables de entorno
- JDBC: Conexión a la base de datos
- CRUD Completo: Crear, leer, actualizar y eliminar registros.
- Conexión a Base de Datos: Usando MySQL.
- Diseño Modular: Separación por paquetes (
conexion,datos,dominio,presentacion). - Interfaz en Consola: Menú interactivo para operaciones CRUD.
- Manejo de Relaciones: Entre
LaboratorioyNacionalidad,Provincia,Ciudad.
src/
├── main/
│ ├── java/
│ │ └── farmacia/
│ │ ├── conexion/ # Conexión a la base de datos
│ │ │ └── Conexion.java
│ │ ├── datos/ # Acceso a datos (DAOs)
│ │ │ ├── FarmaciaDAO.java
│ │ │ └── IFarmaciaDAO.java
│ │ ├── dominio/ # Entidades del dominio
│ │ │ ├── Ciudad.java
│ │ │ ├── Farmaco.java
│ │ │ ├── Laboratorio.java
│ │ │ ├── MedicamentoLaboratorio.java
│ │ │ ├── Nacionalidad.java
│ │ │ └── Provincia.java
│ │ └── presentacion/ # Interfaz de usuario
│ │ └── farmaciaApp.java
- Java: JDK 8 o superior
- MySQL: Base de datos relacional
- Maven: Gestión de dependencias
- Archivo
.env: Credenciales de base de datos
git clone https://github.com/denist050/FarmaciaBaseDeDatosBackJava.git
cd FarmaciaBaseDeDatosBackJava- Instala y ejecuta MySQL.
- Crea la base de datos:
CREATE DATABASE farmacia_dt;- Importa el archivo SQL:
mysql -u tu_usuario -p farmacia_dt < src/main/resources/scripts/farmacia_dt.sqlCrea un archivo .env en la raíz con:
DB_URL=jdbc:mysql://localhost:3306/farmacia_dt
DB_USER=tu_usuario
DB_PASSWORD=tu_contraseña
DB_DRIVER=com.mysql.cj.jdbc.DriverAsegúrate de tener:
- Java JDK 8 o superior
- Apache Maven
mvn clean installjava -cp target/FarmaciaBaseDeDatosBackJava.jar farmacia.presentacion.farmaciaAppEl sistema abrirá un menú en consola para realizar operaciones CRUD sobre las tablas principales.
El programa permite:
- Listar registros
- Buscar por ID o nombre
- Agregar registros
- Modificar registros
- Eliminar registros
farmaco_id: ID úniconombre: Nombre del fármacodescripcion: Descripcióntipo: Venta libre o receta
laboratorio_id: ID úniconombre: Nombredireccion: Direccióntelefono: Teléfonoemail: Correonacionalidad_id: FK a Nacionalidadprovincia_id: FK a Provinciaciudad_id: FK a Ciudad
Tablas relacionadas que permiten definir la ubicación y nacionalidad de los laboratorios.