Skip to content
Gustavo Ortiz edited this page Oct 30, 2023 · 1 revision

Documentación de la Clase Conexion

La clase Conexion proporciona métodos para establecer y gestionar la conexión con una base de datos PostgreSQL utilizando el módulo psycopg2.pool. La clase se encarga de administrar un pool de conexiones para optimizar el acceso a la base de datos.

Atributos de Clase

  • _DATABASE: Nombre de la base de datos PostgreSQL a la que se conectará.
  • _USERNAME: Nombre de usuario para autenticarse en la base de datos.
  • _PASSWORD: Contraseña del usuario para la autenticación.
  • _DB_PORT: Puerto de la base de datos PostgreSQL.
  • _HOST: Dirección IP o nombre del host del servidor de la base de datos.
  • _MIN_CON: Número mínimo de conexiones en el pool.
  • _MAX_CON: Número máximo de conexiones en el pool.
  • _pool: Objeto de pool de conexiones PostgreSQL.

Métodos de Clase

Método obtenerConexion

Descripción

Este método estático se utiliza para obtener una conexión activa del pool de conexiones PostgreSQL.

Parámetros

Ninguno.

Valor de retorno

  • Tipo: psycopg2.extensions.connection
  • Descripción: Un objeto de conexión PostgreSQL activa obtenida del pool.

Método obtenerCursor

Descripción

Este método estático se utiliza para obtener un cursor de base de datos para ejecutar consultas SQL.

Parámetros

Ninguno.

Valor de retorno

  • Tipo: psycopg2.extensions.cursor
  • Descripción: Un objeto de cursor de base de datos.

Método obtenerPool

Descripción

Este método estático se utiliza para obtener una instancia del pool de conexiones PostgreSQL. Si el pool aún no se ha creado, se crea una nueva instancia con la configuración proporcionada.

Parámetros

Ninguno.

Valor de retorno

  • Tipo: psycopg2.pool.SimpleConnectionPool
  • Descripción: Una instancia del pool de conexiones PostgreSQL.

Método liberarConexion

Descripción

Este método estático se utiliza para liberar una conexión al pool de conexiones PostgreSQL una vez que se ha completado su uso.

Parámetros

  • conexion: Una conexión PostgreSQL previamente obtenida del pool.

Valor de retorno

Ninguno.

Método cerrarConexiones

Descripción

Este método estático se utiliza para cerrar todas las conexiones en el pool de conexiones PostgreSQL.

Parámetros

Ninguno.

# Obtener una conexión del pool
conexion1 = Conexion.obtenerConexion()
conexion2 = Conexion.obtenerConexion()
conexion3 = Conexion.obtenerConexion()
conexion4 = Conexion.obtenerConexion()
conexion5 = Conexion.obtenerConexion()

# Realizar operaciones en la base de datos utilizando las conexiones obtenidas

# Liberar conexiones cuando ya no sean necesarias
Conexion.liberarConexion(conexion1)
Conexion.liberarConexion(conexion2)
Conexion.liberarConexion(conexion3)
Conexion.liberarConexion(conexion4)
Conexion.liberarConexion(conexion5)

# Cerrar todas las conexiones en el pool al finalizar la aplicación
Conexion.cerrarConexiones()

# Documentación de la Clase PersonaDAO

La clase `PersonaDAO` es un componente de acceso a datos (DAO) diseñado para interactuar con la tabla "persona" de una base de datos PostgreSQL. Proporciona métodos para realizar operaciones CRUD (Create, Read, Update, Delete) en la tabla de personas.

## Atributos de Clase

- `_SELECCIONAR`: Consulta SQL para seleccionar todos los registros de la tabla "persona" ordenados por "id_persona".
- `_INSERTAR`: Consulta SQL para insertar un nuevo registro en la tabla "persona" con valores de nombre, apellido y email.
- `_ACTUALIZAR`: Consulta SQL para actualizar un registro existente en la tabla "persona" utilizando el "id_persona" como identificador.
- `_ELIMINAR`: Consulta SQL para eliminar un registro de la tabla "persona" utilizando el "id_persona" como identificador.

## Métodos de Clase

### Método `seleccionar`

#### Descripción
Este método estático se utiliza para seleccionar todos los registros de la tabla "persona" y devuelve una lista de objetos `Persona` con los datos recuperados.


#### Valor de retorno
- Tipo: `list[Persona]`
- Descripción: Una lista de objetos `Persona` que representan los registros seleccionados.

### Método `insertar`

#### Descripción
Este método estático se utiliza para insertar un nuevo registro en la tabla "persona" utilizando los valores proporcionados en un objeto `Persona`. Devuelve la cantidad de filas afectadas por la inserción.

#### Parámetros
- `persona`: Un objeto `Persona` que contiene los datos a insertar.

#### Valor de retorno
- Tipo: `int`
- Descripción: El número de filas afectadas por la inserción.

### Método `actualizar`

#### Descripción
Este método estático se utiliza para actualizar un registro existente en la tabla "persona" utilizando los valores proporcionados en un objeto `Persona`. Devuelve la cantidad de filas afectadas por la actualización.

#### Parámetros
- `persona`: Un objeto `Persona` que contiene los nuevos datos a actualizar.

#### Valor de retorno
- Tipo: `int`
- Descripción: El número de filas afectadas por la actualización.

### Método `eliminar`

#### Descripción
Este método estático se utiliza para eliminar un registro de la tabla "persona" utilizando el "id_persona" como identificador. Devuelve la cantidad de filas afectadas por la eliminación.

#### Parámetros
- `persona`: Un objeto `Persona` que contiene el "id_persona" a eliminar.

#### Valor de retorno
- Tipo: `int`
- Descripción: El número de filas afectadas por la eliminación.

# Documentación de la Clase usuarioDAO

La clase `usuarioDAO` es un componente de acceso a datos (DAO) diseñado para interactuar con la tabla "usuario" de una base de datos. Proporciona métodos para realizar operaciones CRUD (Create, Read, Update, Delete) en la tabla de usuarios.

## Atributos de Clase

- `_SELECT`: Consulta SQL para seleccionar todos los registros de la tabla "usuario" ordenados por "id_usuario".
- `_INSERTAR`: Consulta SQL para insertar un nuevo registro en la tabla "usuario" con valores de "username" y "password".
- `_ACTUALIZAR`: Consulta SQL para actualizar un registro existente en la tabla "usuario" utilizando el "id_usuario" como identificador.
- `_ELIMINAR`: Consulta SQL para eliminar un registro de la tabla "usuario" utilizando el "id_usuario" como identificador.

## Métodos de Clase

### Método `seleccionar`

#### Descripción
Este método estático se utiliza para seleccionar todos los registros de la tabla "usuario" y devuelve una lista de objetos `usuario` con los datos recuperados.


#### Valor de retorno
- Tipo: `list[usuario]`
- Descripción: Una lista de objetos `usuario` que representan los registros seleccionados.

### Método `insertar`

#### Descripción
Este método estático se utiliza para insertar un nuevo registro en la tabla "usuario" utilizando los valores proporcionados en un objeto `usuario`. Devuelve la cantidad de filas afectadas por la inserción.

#### Parámetros
- `usuario`: Un objeto `usuario` que contiene los datos a insertar.

#### Valor de retorno
- Tipo: `int`
- Descripción: El número de filas afectadas por la inserción.

### Método `actualizar`

#### Descripción
Este método estático se utiliza para actualizar un registro existente en la tabla "usuario" utilizando los valores proporcionados en un objeto `usuario`. Devuelve la cantidad de filas afectadas por la actualización.

#### Parámetros
- `usuario`: Un objeto `usuario` que contiene los nuevos datos a actualizar.

#### Valor de retorno
- Tipo: `int`
- Descripción: El número de filas afectadas por la actualización.

### Método `eliminar`

#### Descripción
Este método estático se utiliza para eliminar un registro de la tabla "usuario" utilizando el "id_usuario" como identificador. Devuelve la cantidad de filas afectadas por la eliminación.

#### Parámetros
- `usuario`: Un objeto `usuario` que contiene el "id_usuario" a eliminar.

#### Valor de retorno
- Tipo: `int`
- Descripción: El número de filas afectadas por la eliminación.

## Ejemplo de Uso