All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.josecarlosbran.JBSqlUtils.DataBase.AddColumn Maven / Gradle / Ivy

Go to download

JBSqlUtils es un ORM desarrollado en java por José Carlos Alfredo Bran Aguirre, que permite gestionar BD's SQLite, MySQL, MariaDB, PostgreSQL y SQLServer, de una manera fácil y rápida sin interrumpir la ejecución del hilo principal del programa, lo cual la hace un potente ORM, por medio del cual tendrá acceso a un CRUD, configurando únicamente la conexión del modelo, los atributos que posee la tabla en BD's cómo variables que pertenecerán al modelo en su aplicación. JBSqlUtils también proporciona un potente generador de instrucciones SQL que le permitirá crear o eliminar una tabla, insertar, seleccionar, actualizar o eliminar registros de una tabla en su BD's sin necesidad de instanciar un modelo cómo tal, únicamente tendrá que configurar previamente la conexión a su BD's. Lo cual la hace un potente ORM para aplicaciones android y sistemas empresariales que tengan la necesidad de poder conectarse a alguna de estas 4 tipos de BD's, cabe mencionar que para ello utiliza el SQLite JDBC de org.xerial, org.postgresql, mysql y com.microsoft.sqlserver. Para mayor información, consultar el enlace del proyecto

There is a newer version: 1.3.1.2
Show newest version
package io.github.josecarlosbran.JBSqlUtils.DataBase;

import io.github.josecarlosbran.JBSqlUtils.Exceptions.ValorUndefined;
import io.github.josecarlosbran.JBSqlUtils.Utilities.Column;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * Agrega una columna a la sentencia SQL a ejecutar al momento de llamar al metodo creteTable()
 *
 * @author Jose Bran
 */
public class AddColumn extends Methods_Conexion {
    private final String tableName;
    private List columnas = new ArrayList<>();

    /**
     * Constructor que recibe como parametro:
     *
     * @param TableName El nombre de la tabla que se desea crear.
     * @param columna   Columna a agregar
     * @throws ValorUndefined Lanza esta excepción si el parametro proporcionado está vacío o es NULL
     */
    protected AddColumn(String TableName, Column columna) throws ValorUndefined {
        super();
        if (Objects.isNull(columna)) {
            throw new ValorUndefined("La columna proporcionada es NULL");
        }
        this.tableName = TableName;
        this.columnas.add(columna);
    }

    /**
     * Constructor que recibe como parametro:
     *
     * @param TableName El nombre de la tabla que se desea crear.
     * @param columna   Columna a agregar
     * @param columnas  Lista de columnas que trae la sentencia previamente
     * @throws ValorUndefined Lanza esta excepción si el parametro proporcionado está vacío o es NULL
     */
    protected AddColumn(String TableName, Column columna, List columnas) throws ValorUndefined {
        super();
        if (Objects.isNull(columna)) {
            throw new ValorUndefined("La columna proporcionada es NULL");
        }
        this.columnas = columnas;
        this.tableName = TableName;
        this.columnas.add(columna);
        this.setTableName(TableName);
    }

    /**
     * Agrega una columna a la sentencia SQL a ejecutar al momento de llamar al metodo creteTable()
     *
     * @param columna Columna a agregar
     * @return retorna un objeto del tipo AddColumn que brinda la capacidad de dar una mayor logica a la operación de createTable
     * @throws ValorUndefined Lanza esta excepción si el parametro proporcionado está vacío o es NULL
     */
    public AddColumn addColumn(Column columna) throws ValorUndefined {
        return new AddColumn(this.tableName, columna, this.columnas);
    }

    /**
     * Ejecuta la sentencia SQL para crear la tabla en la BD's especificada
     *
     * @return True si la tabla a sido creada, false si la tabla ya existe en BD's o si sucede un error
     * al momento de ejecutar la sentencia SQL
     * @throws Exception Si sucede una excepción en la ejecución asincrona de la sentencia en BD's lanza esta excepción
     */
    public Boolean createTable() throws Exception {
        return this.crateTableJSON(this.columnas);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy