Conexión base de datos relacional - conectar Scala a MySQL utilizando JDBC
JDBC (Java Database Connectivity) es una API estándar de Java que permite a las aplicaciones conectarse y ejecutar operaciones en bases de datos relacionales. Proporciona una interfaz común para interactuar con diferentes bases de datos.
- DriverManager: Administra un conjunto de controladores que se utilizan para conectar con las bases de datos.
- Connection: Representa una conexión activa a la base de datos.
- Statement: Permite ejecutar sentencias SQL como consultas, inserciones y actualizaciones.
- ResultSet: Contiene los resultados obtenidos de una consulta SQL.
- PreparedStatement: Es una versión avanzada de
Statementque permite ejecutar sentencias precompiladas y seguras contra inyecciones SQL.
Scala tiene varias librerías diseñadas para facilitar la interacción con bases de datos. Aquí documentamos dos de las más utilizadas:
| Librería | Descripción | Diferencias |
|---|---|---|
| Slick | Un ORM funcional que permite interactuar con bases de datos relacionales de forma declarativa. | Ofrece abstracción de SQL con un enfoque funcional y soporte para streaming. |
| Doobie | Una librería basada en la programación funcional pura que interactúa directamente con JDBC. | Se enfoca en bajo nivel y permite manejar conexiones, errores y transacciones explícitamente. |
Ejecuta los siguientes comandos en MySQL:
CREATE DATABASE scala_jdbc_example;
USE scala_jdbc_example;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
INSERT INTO users (name, email) VALUES
('Roberto', 'brdrodriguez6@gmail.com'),
('Bob', 'bob@hotmail.com');