GitXplorerGitXplorer
J

capacitor-jbrandev-jbsqlutils

public
0 stars
0 forks
2 issues

Commits

List of commits on branch main.
Unverified
b9d748dccd579186843983222197f3587ed7bbf9

Se actualiza la versión de JBSqlUtils

JJbranadev committed a year ago
Unverified
ec76bc035c319c5567a4f7f1e183e0909f28a73c

Merge remote-tracking branch 'origin/main'

JJbranadev committed a year ago
Unverified
c6103cdc58b6ede37ef3c8767a0c76c05eea39e8

Se actualiza la versión de JBSqlUtils

JJbranadev committed a year ago
Unverified
185ba04bb8dec2d9ebd653a39e3cf16aa3837744

actualizar dependencias

JJbranadev committed 2 years ago
Unverified
c26ffbd0639628d9e9fa704571f9b18c9c6b95de

Publicación segunda version

JJbranadev committed 2 years ago
Unverified
05ea59719da5631d165423d9bba7cc6338cad1c5

Actualización dependencia de Logs

JJbranadev committed 2 years ago

README

The README file for this repository.

capacitor-jbrandev-jbsqlutils

ORM JBSqlUtils es un ORM desarrollado en java por José Carlos Alfredo Bran Aguirre, que permite gestionar BD's SQLite, MySQL, 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.

Para mayor información sobre cómo utilizar JBSqlUtils desde Ionic visitar el siguiente enlace: https://github.com/Jbranadev/capacitor-jbrandev-jbsqlutils/blob/main/README.md

Para mayor información sobre cómo utilizar JBSqlUtils desde Java visitar el siguiente enlace: https://github.com/Jbranadev/JBSqlUtils/blob/master/Readme.md


Estado del Proyecto :atom:

JBSqlUtils actualmente está en una etapa de desarrollo continuo, por lo cual sus observaciones y recomendaciones, son bienvenidas para mejorar el proyecto.


Información importante para poder usar JBSqlUtils en IONIC

Para poder utilizar JBSqlUtils en Ionic es importante realizar la siguiente configuración en su aplicación.

  1. Ya incluido JBSqlUtils en su aplicación, en android studio, visualizar los archivos en la vista Project, expandiendo el modulo capacitor-jbrandev-jbsqlutils, copiar la carpeta libs a la carpeta principal de su aplicación, de modo que quede en el mismo nivel que la carpeta src, como lo muestra la siguiente imagen.

  1. Una vez realizado el paso 1, abrir el archivo build.gradle, modificarlo para que contenga la configuración descrita en la siguiente imagen, agregamos lo filtros ndk dentro de la defaultConfig de nuestra aplicación y los sourceSets en el mismo nivel que la defaultConfig.


Install

npm install capacitor-jbrandev-jbsqlutils
npx cap sync

API

dropTableIfExist(...)

dropTableIfExist(droptableOptions: DropTableOptions) => Promise<DropTableResult>

Elimina la tabla especificada como parametro

Param Type Description
droptableOptions DropTableOptions Nombre de la tabla a eliminar

Returns: Promise<DropTableResult>


createTable(...)

createTable(createtableOptions: CreateTableOptions) => Promise<CreateTableResult>

Crea la tabla especificada como parametro

Param Type Description
createtableOptions CreateTableOptions Definicion de la tabla a crear

Returns: Promise<CreateTableResult>


insertInto(...)

insertInto(insertOptions: InsertOptions) => Promise<InsertResult>

Inserta un nuevo registro en la tabla proporcionada con los valores indicados en insertOptions

Param Type Description
insertOptions InsertOptions Tabla sobre la cual se realizara el Insert y los Valores a insertar

Returns: Promise<InsertResult>


update(...)

update(updateOptions: UpdateOptions) => Promise<UpdateResult>

Actualiza las columnas de la tabla especificada en updateOptions de acuerdo a la logica proporcionada

Param Type Description
updateOptions UpdateOptions Definición de la tabla a actualizar

Returns: Promise<UpdateResult>


delete(...)

delete(deleteOptions: DeleteOptions) => Promise<DeleteResult>

Elimina los registros de la tabla especificada de acuerdo a la logica proporcionada

Param Type Description
deleteOptions DeleteOptions Definición de la logica a aplicar para eliminar los registros de la tabla proporcionada

Returns: Promise<DeleteResult>


select(...)

select<T>(selectOptions: SelectOptions) => Promise<{ 'rows': T[]; }>

Obtiene los registros del tipo de dato proporcionado de la tabla especificada en el objeto selectOptions

Param Type Description
selectOptions SelectOptions Define la logica de la sentencia Select a ejecutar

Returns: Promise<{ rows: T[]; }>


Interfaces

DropTableResult

Resultado del metodo DropTableIfExist

Prop Type Description
execute boolean True si la tabla fue eliminada en BD's, False si la tabla no existe en BD's o si sucede algun problema al ejecutar la sentencia SQL.

DropTableOptions

Opciones disponibles a envíar en el metodo DropTableIfExist

Prop Type Description
tableName string Nombre de la tabla a eliminar
propertysConection ConectionOptions Define las propiedades de conexión a la BD's a la que se pegara JBSqlUtils

ConectionOptions

Define las propiedades de conexión a la BD's a la que se pegara JBSqlUtils

Prop Type Description
dataBaseType DataBase Tipo de BD's a la cual se estara conectando el Modelo, los tipos disponibles son MySQL, SQLServer, PostgreSQL, SQLite.
dataBase string Nombre de la Base de Datos a la que se conectara el modelo.
port string Puerto en el cual se encuentra escuchando la BD's a la cual se pegara JBSqlUtils este campo es obligatorio para conectarse a MySQL, SQLServer o PostgreSQL
host string Host en el cual se encuentra la BD's a la que nos queremos conectar. este campo es obligatorio para conectarse a MySQL, SQLServer o PostgreSQL
user string Usuario con el cual el JBSqlUtils se conectara a la BD's. este campo es obligatorio para conectarse a MySQL, SQLServer o PostgreSQL
password string Contraseña del usuario con el cual JBSqlUtils se conectara a la BD's. este campo es obligatorio para conectarse a MySQL, SQLServer o PostgreSQL

CreateTableResult

Resultado del metodo createTable

Prop Type Description
execute boolean 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

CreateTableOptions

Representación de la tabla a crear en BD's a traves del metodo createTable

Prop Type Description
tableName string Nombre de la tabla a crear
columnas Column[] Array de Columnas que tendra la tabla al momento de ser creada en BD's
propertysConection ConectionOptions Define las propiedades de conexión a la BD's a la que se pegara JBSqlUtils

Column

Representación de una columna a crear en BD's

Prop Type Description
name string Nombre de la columna
default_value string Indica el valor por default que tendra la columna en BD's Es importante que para que este sea efectivo, agregar en las restriccions, la Constraint.DEFAULT.
dataTypeSQL DataType DataType que indica el tipo de dato SQL que almacenara la columna.
restriccions Constraint[] Array que Indica las restricciones SQL que tendra este campo.

InsertResult

Define el resultado de insertar un registro en BD's

Prop Type Description
rows_insert number Cantidad de filas que se han visto afectadas al ejecutar la sentencia SQL.

InsertOptions

Define la tabla sobre la cual se realizara el Insert y los valores a insertar

Prop Type Description
tableName string Nombre de la tabla sobre la que se efectuara el Insert
values ValuesInsert[] Array de valores a insertar en la tabla.
propertysConection ConectionOptions Define las propiedades de conexión a la BD's a la que se pegara JBSqlUtils

ValuesInsert

Define el valor a insertar y en que columna

Prop Type Description
columName string Nombre de la columna en la que se insertara el valor proporcionado
value any Valor a insertar

UpdateResult

Define el resultado de actualizar registros en BD's

Prop Type Description
rows_update number Cantidad de filas que se han visto afectadas al ejecutar la sentencia SQL.

UpdateOptions

Define las columnas que seran actualizadas en la tabla especificada.

Prop Type Description
tableName string Nombre de la tabla a actualizar
valueUpdate ValueUpdate Columnas a actualizar
propertysConection ConectionOptions Define las propiedades de conexión a la BD's a la que se pegara JBSqlUtils

ValueUpdate

Define la columna a actualizar con el valor proporcionado en la tabla especificada

Prop Type Description
columName string Nombre de la columna a actualizar
value any Valor a setear en la columna
andValueUpdate ValueUpdate Agrega la capacidad de poder actualizar el valor de otra columna en la misma sentencia Update
where Where Agrega la logica de un filtro where a la actualización de registros en BD's

Where

Proporciona la logica de una sentencia Where sobre la información que contiene esta interface, añadiendo la capacidad de poder filtrar por medio de las sentencias AND, OR, TAKE Y ORDER BY

Prop Type Description
columName string Nombre de la columna sobre la cual se evaluara la sentencia WHERE
operator Operator Operador sobre el cual se evalura la columna respecto al valor proporcionado
value any Valor contra el que se evaluara la columna
and And Agrega la logica de una sentencia And sobre la información proporcionada.
or Or Agrega la logica de una sentencia Or sobre la información proporcionada.
orderBy OrderBy Tipo de ordenamiento que deseamos se aplique al realizar una sentencia con filtro where
take Take Cantidad maxima de registros a tomar dentro de una sentencia con filtro where
openParentecis OpenParentesis Puede aperturar un parentecis para filtrar de una mejor manera los registros
closeParentecis CloseParentesis Puede cerrar un parentecis para filtrar de una mejor manera los registros

And

Proporciona la logica de una sentencia And sobre la información que contiene esta interface, añadiendo la capacidad de poder filtrar por medio de las sentencias AND, OR, TAKE Y ORDER BY

Prop Type Description
columName string Nombre de la columna sobre la cual se evaluara la sentencia AND
operator Operator Operador sobre el cual se evalura la columna respecto al valor proporcionado
value any Valor contra el que se evaluara la columna
and And Agrega la logica de una sentencia And sobre la información proporcionada.
or Or Agrega la logica de una sentencia Or sobre la información proporcionada.
orderBy OrderBy Tipo de ordenamiento que deseamos se aplique al realizar una sentencia con filtro where
take Take Cantidad maxima de registros a tomar dentro de una sentencia con filtro where
openParentecis OpenParentesis Puede aperturar un parentecis para filtrar de una mejor manera los registros
closeParentecis CloseParentesis Puede cerrar un parentecis para filtrar de una mejor manera los registros

Or

Proporciona la logica de una sentencia Or sobre la información que contiene esta interface, añadiendo la capacidad de poder filtrar por medio de las sentencias AND, OR, TAKE Y ORDER BY

Prop Type Description
columName string Nombre de la columna sobre la cual se evaluara la sentencia OR
operator Operator Operador sobre el cual se evalura la columna respecto al valor proporcionado
value any Valor contra el que se evaluara la columna
and And Agrega la logica de una sentencia And sobre la información proporcionada.
or Or Agrega la logica de una sentencia Or sobre la información proporcionada.
orderBy OrderBy Tipo de ordenamiento que deseamos se aplique al realizar una sentencia con filtro where
take Take Cantidad maxima de registros a tomar dentro de una sentencia con filtro where
openParentecis OpenParentesis Puede aperturar un parentecis para filtrar de una mejor manera los registros
closeParentecis CloseParentesis Puede cerrar un parentecis para filtrar de una mejor manera los registros

OrderBy

Define el tipo de ordenamiento que deseamos se ejecute al realizar una consulta, añadiendo la capacidad de poder limitar la cantidad de resultados a travez de la sentencia TAKE

Prop Type Description
columName string Nombre de la columna por medio de la cual queremos ordenar
orderType OrderType Tipo de ordenamiento que queremos realizar
take Take Cantidad maxima de registros a tomar dentro de una sentencia con filtro where

Take

Define un limite de registros a tomar dentro de una sentencia con filtro Where

Prop Type Description
limite number Cantidad Maxima de Registros que se desea tomar al filtrar con una sentencia Where

OpenParentesis

Agrega la logica de agregar un operador previo y parentecis para filtrar de una mejor manera las consultas

Prop Type Description
operatorPrev Operator Operador previo a colocar antes de aperturar el parentecis
columName string Nombre de la columna sobre la cual se evaluara la sentencia AND
operator Operator Operador sobre el cual se evalura la columna respecto al valor proporcionado
value any Valor contra el que se evaluara la columna
and And Agrega la logica de una sentencia And sobre la información proporcionada.
or Or Agrega la logica de una sentencia Or sobre la información proporcionada.
orderBy OrderBy Tipo de ordenamiento que deseamos se aplique al realizar una sentencia con filtro where
take Take Cantidad maxima de registros a tomar dentro de una sentencia con filtro where
openParentecis OpenParentesis Puede aperturar un parentecis para filtrar de una mejor manera los registros
closeParentecis CloseParentesis Puede cerrar un parentecis para filtrar de una mejor manera los registros

CloseParentesis

Proporciona la logica de un cierre de parentesis

Prop Type Description
operatorPost Operator Operador posterior a colocar antes de aperturar el parentecis
and And Agrega la logica de una sentencia And sobre la información proporcionada.
or Or Agrega la logica de una sentencia Or sobre la información proporcionada.
orderBy OrderBy Tipo de ordenamiento que deseamos se aplique al realizar una sentencia con filtro where
take Take Cantidad maxima de registros a tomar dentro de una sentencia con filtro where
openParentecis OpenParentesis Puede aperturar un parentecis para filtrar de una mejor manera los registros
closeParentecis CloseParentesis Puede cerrar un parentecis para filtrar de una mejor manera los registros

DeleteResult

Define el resultado de eliminar registros en BD's

Prop Type Description
rows_delete number Cantidad de filas que se han sido eliminadas al ejecutar la sentencia SQL.

DeleteOptions

Define la tabla y la logica a aplicar al momento de eliminar los registros de BD's

Prop Type Description
tableName string Nombre de la tabla en la que se desea eliminar registros
where Where Agrega la logica de un filtro where al momento de eliminar registros en BD's
propertysConection ConectionOptions Define las propiedades de conexión a la BD's a la que se pegara JBSqlUtils

SelectOptions

Define las columnas a obtener en cada registro de la tabla especificada de acuerdo a la logica proporcionada.

Prop Type Description
tableName string Nombre de la tabla de la que se desean obtener los registros
where Where Agrega la logica de un filtro where al momento de obtener registros de BD's
columns string[] Define las columnas a obtener de la tabla, de desear obtener todas las columnas, no especificar esta propiedad
propertysConection ConectionOptions Define las propiedades de conexión a la BD's a la que se pegara JBSqlUtils

Enums

DataBase

Members Value Description
SQLite "SQLite" SQLite
MySQL "MySQL" MySQL
SQLServer "SQLServer" SQL Server
PostgreSQL "PostgreSQL" PostgreSQL

DataType

Members Value Description
INTEGER "INTEGER" Entero de 32 bits con signo
INT "INT" Entero de 32 bits con signo
IDENTITY "IDENTITY" Tipo de dato auto incrementable en SQL Server
SERIAL "SERIAL" Tipo de dato auto incrementable en PostgreSQL
CHAR "CHAR" Cadena de caracteres de longitud fija
VARCHAR "VARCHAR" Cadena de caracteres de longitud variable
LONGVARCHAR "LONGVARCHAR" Cadenas de cualquier longitud (varios megabytes), debe definir el tamaño que desea tenga la columna por medio del metodo setSize, para esta numeración en especifico.
ENUM "ENUM" Enum se tienen que definir las opciones disponibles a través del metodo setSize, envíando como parametro para esta numeración, las opciones que deseamos tenga disponible
SMALLINT "SMALLINT" entero de 16 bits
TINYINT "TINYINT" entero de 16 bits
REAL "REAL" Valor de coma flotante
FLOAT "FLOAT" Valor de coma flotante
DOUBLE "DOUBLE" Gran valor de punto flotante
NUMERIC "NUMERIC" Valores decimales de precisión absoluta
DECIMAL "DECIMAL" Valor decimal de precisión absoluta
MONEY "MONEY" Valor decimal de precisión absoluta
SMALLMONEY "SMALLMONEY" Valor decimal de precisión absoluta
BIT "BIT" Bit único/valor binario (activado o desactivado)
BOOLEAN "BOOLEAN" Valor Booleano
BOOL "BOOL" Valor Booleano
BINARY "BINARY" Matriz de valores binarios
VARBINARY "VARBINARY" Matriz de longitud variable de valores binarios, en mysql el valor maximo es de 21844 pero en sql server es de 8000
LONGVARBINARY "LONGVARBINARY" Matriz de valores binarios de cualquier longitud (varios megabytes) SQL Server
IMAGE "IMAGE" Cadena binaria de ancho variable
OBJECT "OBJECT" Setea que el tipo de dato será un Object
JSON "JSON" Setea que el tipo de dato será un JSON
DATE "DATE" Valor de fecha
TIME "TIME" Valor del tiempo
TIMESTAMP "TIMESTAMP" Valor de tiempo con campo adicional de nanosegundos
SMALLDATETIME "SMALLDATETIME" Valor de tiempo con campo adicional de nanosegundos
DATETIME "DATETIME" Valor de tiempo con campo adicional de nanosegundos
DATETIME2 "DATETIME2" Valor de tiempo con campo adicional de nanosegundos

Constraint

Members Value Description
NOT_NULL "NOT_NULL" Indica que la columna no acepta valores Nullos.
UNIQUE "UNIQUE" El valor de esta columna tiene que ser unico
CHECK "CHECK" Restriccion que permite indicarle que tipo de valores si serán aceptados por la columna Lo puede realizar a travez del metodo setRestriccion=String restriccion; de esta numeración. considerar que la misma restricción se aplicara para el resto de columnas que tengan un valor Check.
PRIMARY_KEY "PRIMARY_KEY" Indica que la columna funciona como clave primaria del modelo.
FOREIGN_KEY "FOREIGN_KEY" Indica que la columna funciona como clave foranea del modelo.
CURRENT_TIMESTAMP "CURRENT_TIMESTAMP" Indica que el campo tendra como valor por default el TimeStamp del momento en que se almacene el modelo.
DEFAULT "DEFAULT" Indica que la columna tendra un valor por default
AUTO_INCREMENT "AUTO_INCREMENT" Indica que la columna autoincrementara su valor cada vez que se almacene un registro en la tabla correspondiente al modelo.

Operator

Members Value Description
MAYOR_IGUAL_QUE "MAYOR_IGUAL_QUE" Operador >=
MAYOR_QUE "MAYOR_QUE" Operador >
IGUAL_QUE "IGUAL_QUE" Operador =
DISTINTO "DISTINTO" Operador <>
MENOR_QUE "MENOR_QUE" Operador <
MENOR_IGUAL_QUE "MENOR_IGUAL_QUE" Operador <=
LIKE "LIKE" Operador LIKE
OPEN_PARENTESIS "OPEN_PARENTESIS" Operador (
CLOSE_PARENTESIS "CLOSE_PARENTESIS" Operador )
ORDERBY "ORDERBY" Operador ORDER BY
AND "AND" Operador AND
OR "OR" Operador OR
NOT "NOT" Operador NOT

OrderType

Members Value Description
ASC "ASC" Indica que deseamos se ordene de manera Ascendente los registros
DESC "DESC" Indica que deseamos se ordene de manera Descendente los registros