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

io.github.josecarlosbran.JBSqlUtils.Utilities.UtilitiesJB 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

The newest version!
/***
 * Copyright (C) 2022 El proyecto de código abierto JBSqlUtils de José Bran
 *
 * Con licencia de Apache License, Versión 2.0 (la "Licencia");
 * no puede usar este archivo excepto de conformidad con la Licencia.
 * Puede obtener una copia de la Licencia en
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * A menos que lo exija la ley aplicable o se acuerde por escrito, el software
 * distribuido bajo la Licencia se distribuye "TAL CUAL",
 * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas.
 * Consulte la Licencia para conocer el idioma específico que rige los permisos y
 * limitaciones bajo la Licencia.
 */
package io.github.josecarlosbran.JBSqlUtils.Utilities;

import io.github.josecarlosbran.JBSqlUtils.Enumerations.DataType;

import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Objects;

/**
 * Clase que brinda acceso a funcionalidades comunes, sin necesidad de crear una instancia de la misma
 *
 * @author Jose Bran
 */
public class UtilitiesJB {
    /****
     * Verifica si una cadena esta vacía o es nula
     * @param cadena Cadena a Validar
     * @return Retorna True si la cadena envíada esta vacía o nula, de lo contrario retorna false
     */
    public static boolean stringIsNullOrEmpty(String cadena) {
        return Objects.isNull(cadena) || cadena.isEmpty();
    }

    /***
     * Obtener el valor booleano de un numero
     * @param numero numero que se evaluara
     * @return si el numero es mayor o igual a uno, retorna true, de lo contrario, retorna false.
     */
    public static boolean getBooleanfromInt(int numero) {
        return numero >= 1;
    }

    /**
     * @param temp Valor Booleano a ser evaluado.
     * @return Si el valor es NULL o False, retorna 0, si el valor es True retorna 1.
     * @author Jose Bran
     * Medoto que convierte el valor Booleano en un entero, si el valor es NULL o False, retorna 0.
     * Si el valor es True retorna 1.
     */
    public static int getIntFromBoolean(Boolean temp) {
        if (temp == null || !temp) {
            return 0;
        }
        return 1;
    }

    /**
     * Retorna una columna SQL correspondiente al objeto envíado como parametro
     *
     * @param valor Valor del cual se extraera la columna
     * @return Retorna la Columna generada.
     */
    public static Column getColumn(Object valor) {
        if (valor instanceof String) {
            Column columna = new Column<>(DataType.VARCHAR);
            columna.setValor((String) valor);
            return columna;
        } else if (valor instanceof Double) {
            Column columna = new Column<>(DataType.DOUBLE);
            columna.setValor((Double) valor);
            return columna;
        } else if (valor instanceof Boolean) {
            Column columna = new Column<>(DataType.BOOLEAN);
            columna.setValor((Boolean) valor);
            return columna;
        } else if (valor instanceof Integer) {
            Column columna = new Column<>(DataType.INTEGER);
            columna.setValor((Integer) valor);
            return columna;
        } else if (valor instanceof Float) {
            Column columna = new Column<>(DataType.FLOAT);
            columna.setValor((Float) valor);
            return columna;
        } else if (valor instanceof byte[]) {
            Column columna = new Column<>(DataType.VARBINARY);
            columna.setValor((byte[]) valor);
            return columna;
        } else if (valor instanceof Date) {
            Column columna = new Column<>(DataType.DATE);
            columna.setValor((Date) valor);
            return columna;
        } else if (valor instanceof Time) {
            Column