Pular para o conteúdo principal

DB

Recurso de carregamento de datasources. Este recurso permite o carregamento do datasource que mais lhe for conveniente, suporta conexão com MariaDB, MSSQLServer, PostgreSQL, H2 e Oracle.

// Atenção ao inserir parâmetros em queries,
// não deve utilizar a concatenação de strings
// para garantir a segurança contra SQL Injection:

const NOK = _db.query(
'select * from cliente where id = '+ _req.getString('id')
);

// ATENÇÃO: O exemplo acima é incorreto.
// Siga o padrão abaixo para garantir a segurança
// ao injetar parâmetros:

const OK = _db.query(
'select * from cliente where id = ?', _val.list().add( _req.getString('id') )
);

all


_db.all(tabela: string) : java.util.List

Descrição

Seleciona todos os dados de uma tabela.

Como Usar
_db.all('cliente');
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela de onde será executada a query.
Retorno

( java.util.List )

Os dados encontrados na tabela ou null caso não exista.


batch


_db.batch() : DBBatch

Descrição

Inicia o processamento em lote de execuções em base de dados.

Como Usar
const batchComParametros = _db.batch(`
insert into producto(id, uid, nome, preco, active)
values(nextval('producto_id'), ?, ?, ?, true)
`)
.put(_uid.generate(), "Netuno Lote 1", 3.2)
.put(_uid.generate(), "Netuno Lote 2", 5.4)
const resultados = batchComParametros.execute()
Retorno

( DBBatch )

Gestor da execução de operações em lote.


_db.batch(comandoSQL: string) : DBBatch

Descrição

Inicia o processamento em lote de execuções em base de dados, com base em um único comando que será executado múltiplas vezes com variação dos dados.

Como Usar
const batchComParametros = _db.batch(`
insert into producto(id, uid, nome, preco, active)
values(nextval('producto_id'), ?, ?, ?, true)
`)
.put(_uid.generate(), "Netuno Lote 1", 3.2)
.put(_uid.generate(), "Netuno Lote 2", 5.4)
const resultados = batchComParametros.execute()
Atributos
NOMETIPODESCRIÇÃO
comandoSQLstringComando SQL que será utilizado como base para todas as interações.
Retorno

( DBBatch )

Gestor da execução de operações em lote.


checkExists


_db.checkExists() : CheckExists

Descrição

Verifica se sequências, tabelas, colunas e indexes existem na base de dados.

Como Usar
if (!_db.checkExists().table("client")) {
_db.table().create(
"client",
_db.column().setName("id").setType("int").setPrimaryKey(true),
_db.column().setName("name").setType("varchar").setNotNull(true).setDefault()
);
}
Retorno

( CheckExists )


column


_db.column() : Column

Descrição

Realiza a manipulação de colunas em base de dados.

Como Usar
if (!_db.checkExists().column("client", "description")) {
_db.column().rename(
"client", // Tabela
"description", // Nome Antigo
"name" // Novo Nome
);
}
Retorno

( Column )


config


_db.config() : Values

Descrição

Obtém a configuração de conexão à base de dados que está a ser utilizada. Os detalhes da conexão está definida no documento de configuração de ambiente da aplicação, mais informações no tutorial sobre Multiplas bases de dados.

Como Usar
_header.contentTypePlain()

const db_PADRAO_Config = _db.getConfig()
_out.print(`A conexão da db PADRÃO é: ${db_PADRAO_Config.toJSON()}\n`)

const db_OUTRA_Config = _db.init("countries").getConfig()
_out.print(`A OUTRA conexão da db é: ${db_OUTRA_Config.toJSON()}\n`)

Retorno

( Values )

Configuração da conexão à base de dados que está a ser utilizada.


date


_db.date() : java.sql.Date

Descrição

Obtém a data atual para ser utilizada em operações de base de dados.

Retorno

( java.sql.Date )

Data atual.


_db.date(time: java.lang.Long) : java.sql.Date

Descrição

Através do número longo que identifica a data exata, cria um novo objeto Date para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
timejava.lang.LongNúmero longo referente a data exata.
Retorno

( java.sql.Date )

Novo objeto do tipo: java.sql.Date


_db.date(texto: string) : java.sql.Date

Descrição

Com o conteúdo de texto obtém o objeto de data para ser utilizada em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
textostringTexto que contém data no formato: yyyy-MM-dd
Retorno

( java.sql.Date )

Data obtida do texto.


_db.date(instant: java.time.Instant) : java.util.Date

Descrição

Através do objeto Instant cria um novo objeto Date com java.sql.Date.from, para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
instantjava.time.InstantObjeto do tipo: java.time.Instant
Retorno

( java.util.Date )

Novo objeto do tipo: java.util.Date


_db.date(localDateTime: java.time.LocalDate) : java.sql.Date

Descrição

Através do objeto LocalDateTime cria um novo objeto Date para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
localDateTimejava.time.LocalDateObjeto do tipo: java.time.LocalDateTime
Retorno

( java.sql.Date )

Novo objeto do tipo: java.sql.Date


delete


_db.delete(tabela: string, id: int) : int

Descrição

Executa a eliminação de registos na base de dados baseado no ID.

Como Usar
// Executa a eliminação através do ID

const id = 1;

const result = _db.delete(
"cliente",
id
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados.
idintID do registo a eliminar.
Retorno

( int )

Quantidade de registos afetados pela eliminação.


_db.delete(tabela: string, uid: string) : int

Descrição

Executa a eliminação de registos na base de dados baseado no UID.

Como Usar
// Executa a eliminação através do UID

const uid = "1d8722f4-fa28-4a08-8098-6dd5cab1b212";

const result = _db.delete(
"cliente",
uid
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados.
uidstringUID do registo a eliminar.
Retorno

( int )

Quantidade de registos afetados pela eliminação.


_db.delete(tabela: string, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a eliminação de registos na base de dados baseado no ID ou UID passado no objeto de dados.

Como Usar
// Executa a eliminação através do id ou uid nos dados

const result = _db.delete(
"cliente",
_val.map().set("id", 1)
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaEstrutura de dados que deverá ser eliminada baseado no seu ID ou UID.
Retorno

( int )

Quantidade de registos afetados pela eliminação.


_db.delete(tabela: string, dados: Values) : int

Descrição

Executa a eliminação de registos na base de dados baseado no ID ou UID passado no objeto de dados.

Como Usar
// Executa a eliminação através do id ou uid nos dados

const result = _db.delete(
"cliente",
_val.map().set("id", 1)
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados.
dadosValuesEstrutura de dados que deverá ser eliminada baseado no seu ID ou UID.
Retorno

( int )

Quantidade de registos afetados pela eliminação.


deleteMany


_db.deleteMany(tabela: string, listaDados: [Ljava.lang.Object;[]) : int[]

Descrição

Executa a eliminação de várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores. É necessário que cada objeto possua o id ou uid do dado que será alterado

Como Usar
var dadosEliminados = _db.deleteMany(
'worker',
_val.list()
.add(_val.map()
.set('id', 1)
)
.add(_val.map()
.set('id', 2)
)
);
_out.json({dadosEliminados: dadosEliminados})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDados[Ljava.lang.Object;[]Array ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com a quantidade de registos afetados pela eliminação para cada objeto dentro da lista.


_db.deleteMany(tabela: string, listaDados: java.util.List) : int[]

Descrição

Executa a eliminação de várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores. É necessário que cada objeto possua o id ou uid do dado que será alterado

Como Usar
var dadosEliminados = _db.deleteMany(
'worker',
_val.list()
.add(_val.map()
.set('id', 1)
)
.add(_val.map()
.set('id', 2)
)
);
_out.json({dadosEliminados: dadosEliminados})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDadosjava.util.ListArray ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com a quantidade de registos afetados pela eliminação para cada objeto dentro da lista.


_db.deleteMany(tabela: string, listaDados: Values) : int[]

Descrição

Executa a eliminação de várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores. É necessário que cada objeto possua o id ou uid do dado que será alterado

Como Usar
var dadosEliminados = _db.deleteMany(
'worker',
_val.list()
.add(_val.map()
.set('id', 1)
)
.add(_val.map()
.set('id', 2)
)
);
_out.json({dadosEliminados: dadosEliminados})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDadosValuesArray ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com a quantidade de registos afetados pela eliminação para cada objeto dentro da lista.


escape


_db.escape(dados: string) : string

Descrição

Garante a codificação para definir nomes em base de dados, normalmente aspas (").

Atributos
NOMETIPODESCRIÇÃO
dadosstringNome que precisa ser utilizado em base de dados, como nome de tabela ou coluna.
Retorno

( string )

Nome seguro para utilizar em base de dados, como em tabelas e colunas.


escapeEnd


_db.escapeEnd() : string

Descrição

Obtém a codificação de fim para definir nomes em base de dados, normalmente aspas (").

Retorno

( string )

Fim de nomes em base de dados.


escapeStart


_db.escapeStart() : string

Descrição

Obtém a codificação de início para definir nomes em base de dados, normalmente aspas (").

Retorno

( string )

Início de nomes em base de dados.


execute


_db.execute(comandoSQL: string) : int

Descrição

Executa comandos diretamente na base de dados, pode ser executados comandos como inserts e updates à medida.

Como Usar
const linhasAfetadas = _db.execute(`
insert into product(id, uid, nome, preco, active)
values(nextval('product_id'), '${_uid.generate()}', '${_db.sanitize('Netuno Insert Teste 1')}', 3.2, true)
`)
Atributos
NOMETIPODESCRIÇÃO
comandoSQLstringComando SQL que será executado diretamente na base de dados.
Retorno

( int )

Número de linhas afetadas pelo comando executado.


_db.execute(comandoSQL: string, parametros: [Ljava.lang.Object;[]) : int

Descrição

Executa comandos diretamente na base de dados, pode ser executados comandos como inserts e updates à medida.

Como Usar
const linhasAfetadas = _db.execute(`
insert into product(id, uid, nome, preco, active)
values(nextval('product_id'), ?, ?, ?, true)
`, _uid.generate(), "Netuno Insert Teste 1", 3.2)
Atributos
NOMETIPODESCRIÇÃO
comandoSQLstringComando SQL que será executado diretamente na base de dados.
parametros[Ljava.lang.Object;[]Sequência de valores dos parâmetros que são injetados no comando.
Retorno

( int )

Número de linhas afetadas pelo comando executado.


_db.execute(comandoSQL: string, parametros: java.util.List) : int

Descrição

Executa comandos diretamente na base de dados, pode ser executados comandos como inserts e updates à medida.

Como Usar
const linhasAfetadas = _db.execute(`
insert into product(id, uid, nome, preco, active)
values(nextval('product_id'), ?, ?, ?, true)
`, _val.list()
.add(_uid.generate())
.add("Netuno Insert Teste 1")
.add(3.2)
)
Atributos
NOMETIPODESCRIÇÃO
comandoSQLstringComando SQL que será executado diretamente na base de dados.
parametrosjava.util.ListLista dos valores dos parâmetros que são injetados no comando.
Retorno

( int )

Número de linhas afetadas pelo comando executado.


_db.execute(comandoSQL: string, parametros: Values) : int

Descrição

Executa comandos diretamente na base de dados, pode ser executados comandos como inserts e updates à medida.

Como Usar
const linhasAfetadas = _db.execute(`
insert into product(id, uid, nome, preco, active)
values(nextval('product_id'), ?, ?, ?, true)
`, _val.list()
.add(_uid.generate())
.add("Netuno Insert Teste 1")
.add(3.2)
)
Atributos
NOMETIPODESCRIÇÃO
comandoSQLstringComando SQL que será executado diretamente na base de dados.
parametrosValuesLista dos valores dos parâmetros que são injetados no comando.
Retorno

( int )

Número de linhas afetadas pelo comando executado.


find


_db.find(tabela: string, params: Values) : java.util.List

Descrição

A partir de um objeto que tem a estrutura parecida com uma consulta SQL, obtém uma lista dos dados encontrados nas condições de pesquisa. Constrói a query compatível com qualquer tipo de base de dados. Permite condições, ordenação, evita SQL Injection, entre outros. Exemplo que demonstra como define as colunas, as condições, ordenação e paginação:

Como Usar
const list = _db.find(
"pessoa",
_val.map()
.set(
"columns",
_val.list()
.add("uid")
.add(
_val.map()
.set("nome", "Pedro")
.set("apelido", "Cabral")
)
.add("email")
)
.set(
"where",
_val.map()
.set("grupo", 1)
.set(
"email",
_val.map()
.set("operator", "like")
.set("value", "%@e-mail.exemplo")
)
)
.set(
"order",
_val.list()
.add("nome")
.add("apelido")
)
.set("limit", 10)
.set("offset", 5)
)
_out.json(
list
)
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome tabela.
paramsValuesDefinição da consulta, suporta limitar colunas (columns), adicionar condições (where), ordenação (order), entre outros.
Retorno

( java.util.List )

Lista dos registos de dados encontrados.


findFirst


_db.findFirst(tabela: string, params: Values) : Values

Descrição

A partir de um objeto que tem a estrutura parecida com uma consulta SQL, obtém uma lista dos dados encontrados nas condições de pesquisa. Constrói a query compatível com qualquer tipo de base de dados. Permite condições, ordenação, evita SQL Injection, entre outros. Exemplo que demonstra como define as colunas, as condições, ordenação e paginação:

Como Usar
const record = _db.findFirst(
"pessoa",
_val.map()
.set(
"where",
_val.map()
.set("email", "pessoa@e-mail.exemplo")
)
)
_out.json(
record
)
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome tabela.
paramsValuesDefinição da consulta, suporta limitar colunas (columns), adicionar condições (where), ordenação (order), entre outros.
Retorno

( Values )

Dados da linha de registo encontrado.


findQuery


_db.findQuery(tabela: string, params: Values) : string

Descrição

A partir de um objeto que tem a estrutura parecida com uma consulta SQL, gera uma query para ser efectuado um select. Constrói a query compatível com qualquer tipo de base de dados. Permite condições, ordenação, evita SQL Injection, entre outros. Exemplo que demonstra como define as colunas, as condições, ordenação e paginação:

Como Usar
const record = _db.findQuery(
"pessoa",
_val.map()
.set(
"where",
_val.map()
.set("email", "pessoa@e-mail.exemplo")
)
)

Atributos
NOMETIPODESCRIÇÃO
tabelastringNome tabela.
paramsValuesDefinição da consulta, suporta limitar colunas (columns), adicionar condições (where), ordenação (order), entre outros.
Retorno

( string )

A query com os parâmetros pronta a ser utilizada.


form


_db.form(tabelaNome: string) : Operation

Descrição

Retorna um novo objeto Operation pronto para ser configurado.

Atributos
NOMETIPODESCRIÇÃO
tabelaNomestringNome da tabela.
Retorno

( Operation )

Novo objeto Operation.


_db.form(formName: string, where: Where) : Operation

Atributos
NOMETIPODESCRIÇÃO
formNamestring
whereWhere
Retorno

( Operation )


get


_db.get(tabela: string, id: int) : Values

Descrição

Obtém os dados do registo na base de dados, através do nome da tabela e do ID.

Como Usar
// Todos os dados do registro com o ID fornecido.

const dbRegistoCliente = _db.get(
"cliente",
100
)

_out.json(dbRegistoCliente);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve obter os dados.
idintID do registo que deve obter os dados.
Retorno

( Values )

Os dados do item encontrado ou null caso não exista.


_db.get(tabela: string, uid: string) : Values

Descrição

Obtém os dados do registo na base de dados, através do nome da tabela e do UID.

Como Usar
// Todos os dados do registro com o UID fornecido.

const dbRegistoCliente = _db.get(
"cliente",
"cbe8bd5a-98c9-48b2-bbac-6a11ac46f2a8"
);

_out.json(dbRegistoCliente);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve obter os dados.
uidstringUID do registo que deve obter os dados.
Retorno

( Values )

Os dados do item encontrado ou null caso não exista.


getConfig


_db.getConfig() : Values

Descrição

Obtém a configuração de conexão à base de dados que está a ser utilizada. Os detalhes da conexão está definida no documento de configuração de ambiente da aplicação, mais informações no tutorial sobre Multiplas bases de dados.

Como Usar
_header.contentTypePlain()

const db_PADRAO_Config = _db.getConfig()
_out.print(`A conexão da db PADRÃO é: ${db_PADRAO_Config.toJSON()}\n`)

const db_OUTRA_Config = _db.init("countries").getConfig()
_out.print(`A OUTRA conexão da db é: ${db_OUTRA_Config.toJSON()}\n`)

Retorno

( Values )

Configuração da conexão à base de dados que está a ser utilizada.


getKey


_db.getKey() : string

Descrição

Obtém o nome da configuração de conexão à base de dados que está a ser utilizada. Os detalhes da conexão deve estar definida no documento configuração de ambiente da aplicação, mais informações no tutorial sobre Multiplas bases de dados.

Como Usar
_header.contentTypePlain()

const db_PADRAO_NomeConexao = _db.getKey()
_out.print(`A conexão da db PADRÃO é: ${db_PADRAO_NomeConexao}\n`)

const db_OUTRA_NomeConexao = _db.init("countries").getKey()
_out.print(`A OUTRA conexão da db é: ${db_OUTRA_NomeConexao}\n`)

Retorno

( string )

Nome da configuração de conexão à base de dados que está a ser utilizada.


index


_db.index() : Index

Descrição

Realiza a manipulação de indexes em base de dados.

Como Usar
if (!_db.checkExists().index("client", "name")) {
_db.index().create(
"client", // Nome da Tabela
"name" // Nome da Coluna
); // O index client_name_idx será criado criado.
}
Retorno

( Index )


init


_db.init(chave: string) : DB

Descrição

Inicia um novo recurso de DB para o nome de conexão que é passada. Os detalhes da conexão deverão estar definidas no documento configuração de ambiente da aplicação, mais informações no tutorial sobre Multiplas bases de dados.

Como Usar
// Executa queries em outra base de dados

const dbPaises = _db.init('countries')

const paises = dbPaises.query('select code, name from country')

_out.json(paises)
Atributos
NOMETIPODESCRIÇÃO
chavestringNome da conexão da base definida nas configurações de ambiente da aplicação.
Retorno

( DB )

O novo recurso de base de dados que utiliza uma outra base de dados.


insert


_db.insert(tabela: string, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a inserção de novos dados na base de dados e retorna o id dos mesmos.

Como Usar
// Executa a inserção de novo registo e retorna o ID

const id = _db.insert(
"client",
_val.map()
.set("name", "Sitana"),
.set("mail", "admin@sitana.pt")
);

_out.json(
_val.map().set("id", id)
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaObjeto com a estrutura de dados que será inserido.
Retorno

( int )


_db.insert(tabela: string, dados: Values) : int

Descrição

Executa a inserção de novos dados na base de dados e retorna o id dos mesmos.

Como Usar
// Executa a inserção de novo registo e retorna o ID

const id = _db.insert(
"client",
_val.map()
.set("name", "Sitana"),
.set("mail", "admin@sitana.pt")
);

_out.json(
_val.map().set("id", id)
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
dadosValuesObjeto com a estrutura de dados que será inserido.
Retorno

( int )


insertIfNotExists


_db.insertIfNotExists(tabela: string, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a inserção de um valor caso ele não exista ou retorna o ID caso já exista.

Como Usar
var dadosInseridos = _db.insertIfNotExists(
'worker',
_val.map()
.set('name','Netuno')
);
_out.json({dadosInseridos: dadosInseridos})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaObjeto com a estrutura de dados que será inserido.
Retorno

( int )

ID do dado que foi inserido ou ID do dado já existente.


_db.insertIfNotExists(tabela: string, dados: Values) : int

Descrição

Executa a inserção de um valor caso ele não exista ou retorna o ID caso já exista.

Como Usar
var dadosInseridos = _db.insertIfNotExists(
'worker',
_val.map()
.set('name','Netuno')
);
_out.json({dadosInseridos: dadosInseridos})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
dadosValuesObjeto com a estrutura de dados que será inserido.
Retorno

( int )

ID do dado que foi inserido ou ID do dado já existente.


insertMany


_db.insertMany(tabela: string, listaDados: [Ljava.lang.Object;[]) : int[]

Descrição

Executa a inserção várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores.

Como Usar
_db.insertMany(
'worker',
_val.list()
.add(_val.map()
.set('name','Netuno')
)
.add(_val.map()
.set('name','Sitana')
)
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDados[Ljava.lang.Object;[]Array ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com os IDs dos dados inseridos.


_db.insertMany(tabela: string, listaDados: java.util.List) : int[]

Descrição

Executa a inserção várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores.

Como Usar
_db.insertMany(
'worker',
_val.list()
.add(_val.map()
.set('name','Netuno')
)
.add(_val.map()
.set('name','Sitana')
)
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDadosjava.util.ListArray ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com os IDs dos dados inseridos.


_db.insertMany(tabela: string, listaDados: Values) : int[]

Descrição

Executa a inserção várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores.

Como Usar
_db.insertMany(
'worker',
_val.list()
.add(_val.map()
.set('name','Netuno')
)
.add(_val.map()
.set('name','Sitana')
)
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDadosValuesArray ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com os IDs dos dados inseridos.


isH2


_db.isH2() : boolean

Descrição

Verifica se a base de dados conectada é H2 Database.

Retorno

( boolean )

Se é H2 Database.


isH2DataBase


_db.isH2DataBase() : boolean

Descrição

Verifica se a base de dados conectada é H2 Database.

Retorno

( boolean )

Se é H2 Database.


isMariaDB


_db.isMariaDB() : boolean

Descrição

Verifica se a base de dados conectada é MariaDB.

Retorno

( boolean )

Se é MariaDB.


isPG


_db.isPG() : boolean

Descrição

Verifica se a base de dados conectada é PostgreSQL.

Retorno

( boolean )

Se é PostgreSQL.


isPostgreSQL


_db.isPostgreSQL() : boolean

Descrição

Verifica se a base de dados conectada é PostgreSQL.

Retorno

( boolean )

Se é PostgreSQL.


key


_db.key() : string

Descrição

Obtém o nome da configuração de conexão à base de dados que está a ser utilizada. Os detalhes da conexão deve estar definida no documento configuração de ambiente da aplicação, mais informações no tutorial sobre Multiplas bases de dados.

Como Usar
_header.contentTypePlain()

const db_PADRAO_NomeConexao = _db.getKey()
_out.print(`A conexão da db PADRÃO é: ${db_PADRAO_NomeConexao}\n`)

const db_OUTRA_NomeConexao = _db.init("countries").getKey()
_out.print(`A OUTRA conexão da db é: ${db_OUTRA_NomeConexao}\n`)

Retorno

( string )

Nome da configuração de conexão à base de dados que está a ser utilizada.



Descrição

Retorna uma relação com um formulário.

Atributos
NOMETIPODESCRIÇÃO
formLinkstringNome do formulário a ser relacionado.
Retorno

( Link )

Objeto Link.


Atributos
NOMETIPODESCRIÇÃO
formLinkstring
whereWhere
Retorno

( Link )


Atributos
NOMETIPODESCRIÇÃO
formLinkstring
whereWhere
linkLink
Retorno

( Link )


manyToOne


_db.manyToOne(tabelaNome: string, colunaNome: string) : Relationship

Descrição

Retorna uma nova relação do tipo Many To One.

Atributos
NOMETIPODESCRIÇÃO
tabelaNomestringNome da tabela.
colunaNomestringNome da coluna.
Retorno

( Relationship )

Relação do tipo Many To One.


_db.manyToOne(tableName: string, column: string, where: Where) : Relationship

Atributos
NOMETIPODESCRIÇÃO
tableNamestring
columnstring
whereWhere
Retorno

( Relationship )


oneToMany


_db.oneToMany(tabelaNome: string, colunaNome: string) : Relationship

Descrição

Retorna uma nova relação do tipo One To Many.

Atributos
NOMETIPODESCRIÇÃO
tabelaNomestringNome da tabela.
colunaNomestringNome da coluna.
Retorno

( Relationship )

Relação do tipo One To Many.


_db.oneToMany(tableName: string, column: string, where: Where) : Relationship

Atributos
NOMETIPODESCRIÇÃO
tableNamestring
columnstring
whereWhere
Retorno

( Relationship )


pagination


_db.pagination(pagina: int, pageSize: int) : org.netuno.tritao.db.form.pagination.Pagination

Descrição

Retorna o objeto para configuração de paginação ao usar o metodo page() do Query.

Atributos
NOMETIPODESCRIÇÃO
paginaintNúmero da página.
pageSizeintNúmero de elementos por página.
Retorno

( org.netuno.tritao.db.form.pagination.Pagination )

Objeto Pagination.


param


_db.param(type: string) : string

Atributos
NOMETIPODESCRIÇÃO
typestring
Retorno

( string )


query


_db.query(query: string) : java.util.List

Descrição

Execute uma query SQL diretamente na base de dados. Muita cuidado com SQL Injection.

Como Usar
const valorMaximoSeguro = _db.toFloat(_req.getString("valor_maximo"))

_out.json(
_db.query(`
select * from produto
where preco < ${valorMaximoSeguro}
`)
)
Atributos
NOMETIPODESCRIÇÃO
querystringComando que será executado na base de dados para obter registos.
Retorno

( java.util.List )

Lista de dados obtidos com a query direta à base de dados.


_db.query(query: string, params: [Ljava.lang.Object;[]) : java.util.List

Descrição

Execute uma query SQL diretamente na base de dados. Muita cuidado com SQL Injection.

Como Usar
_out.json(
_db.query(`
select * from produto
where preco < ?
`, _req.getString("preco_maximo"))
)
Atributos
NOMETIPODESCRIÇÃO
querystringComando que será executado na base de dados para obter registos.
params[Ljava.lang.Object;[]Lista de parâmetros de valores que serão injetados no comando (query) de base de dados.
Retorno

( java.util.List )

Lista de dados obtidos com a query direta à base de dados.


_db.query(query: string, params: java.util.List) : java.util.List

Descrição

Execute uma query SQL diretamente na base de dados. Muita cuidado com SQL Injection.

Como Usar
_out.json(
_db.query(`
select * from produto
where preco < ?
`, _req.getString("preco_maximo"))
)
Atributos
NOMETIPODESCRIÇÃO
querystringComando que será executado na base de dados para obter registos.
paramsjava.util.ListLista de parâmetros de valores que serão injetados no comando (query) de base de dados.
Retorno

( java.util.List )

Lista de dados obtidos com a query direta à base de dados.


_db.query(query: string, params: Values) : java.util.List

Descrição

Execute uma query SQL diretamente na base de dados. Muita cuidado com SQL Injection.

Como Usar
_out.json(
_db.query(`
select * from produto
where preco < ?
`, _req.getString("preco_maximo"))
)
Atributos
NOMETIPODESCRIÇÃO
querystringComando que será executado na base de dados para obter registos.
paramsValuesLista de parâmetros de valores que serão injetados no comando (query) de base de dados.
Retorno

( java.util.List )

Lista de dados obtidos com a query direta à base de dados.


queryFirst


_db.queryFirst(query: string) : Values

Descrição

Execute uma query SQL diretamente na base de dados e obtém apenas o primeiro registo. Muita cuidado com SQL Injection.

Como Usar
const produtoEncontrado = _db.queryFirst(`
select * from produto
where nome like '%${_db.sanitize(_req.getString('termo'))}%'
`)
_log.info('O primeiro produto encontrado:', produtoEncontrado)
Atributos
NOMETIPODESCRIÇÃO
querystringComando que será executado na base de dados para obter o registo.
Retorno

( Values )

O primeiro registo de dados obtido com a query direta à base de dados.


_db.queryFirst(query: string, params: [Ljava.lang.Object;[]) : Values

Descrição

Execute uma query SQL diretamente na base de dados e obtém apenas o primeiro registo. Muita cuidado com SQL Injection.

Como Usar
const produtoEncontrado = _db.queryFirst(`
select * from produto
where nome like ?
`, `%${_db.sanitize(_req.getString('termo'))}%`)
_log.info('O primeiro produto encontrado:', produtoEncontrado)
Atributos
NOMETIPODESCRIÇÃO
querystringComando que será executado na base de dados para obter o registo.
params[Ljava.lang.Object;[]Lista de parâmetros de valores que serão injetados no comando (query) de base de dados.
Retorno

( Values )

O primeiro registo de dados obtido com a query direta à base de dados.


_db.queryFirst(query: string, params: java.util.List) : Values

Descrição

Execute uma query SQL diretamente na base de dados e obtém apenas o primeiro registo. Muita cuidado com SQL Injection.

Como Usar
const produtoEncontrado = _db.queryFirst(`
select * from produto
where nome like ?
`, `%${_db.sanitize(_req.getString('termo'))}%`)
_log.info('O primeiro produto encontrado:', produtoEncontrado)
Atributos
NOMETIPODESCRIÇÃO
querystringComando que será executado na base de dados para obter o registo.
paramsjava.util.ListLista de parâmetros de valores que serão injetados no comando (query) de base de dados.
Retorno

( Values )

O primeiro registo de dados obtido com a query direta à base de dados.


_db.queryFirst(query: string, params: Values) : Values

Descrição

Execute uma query SQL diretamente na base de dados e obtém apenas o primeiro registo. Muita cuidado com SQL Injection.

Como Usar
const produtoEncontrado = _db.queryFirst(`
select * from produto
where nome like ?
`, `%${_db.sanitize(_req.getString('termo'))}%`)
_log.info('O primeiro produto encontrado:', produtoEncontrado)
Atributos
NOMETIPODESCRIÇÃO
querystringComando que será executado na base de dados para obter o registo.
paramsValuesLista de parâmetros de valores que serão injetados no comando (query) de base de dados.
Retorno

( Values )

O primeiro registo de dados obtido com a query direta à base de dados.


sanitize


_db.sanitize(dados: string) : string

Descrição

Certifica que o conteúdo é seguro para injetar numa query direto à base de dados, previne ataques de SQL Injection.

Atributos
NOMETIPODESCRIÇÃO
dadosstringInformação que precisa ser utilizada em base de dados com risco de SQL Injection.
Retorno

( string )

Conteúdo seguro para utilizar diretamente em queries.


sanitizeBoolean


_db.sanitizeBoolean(dados: string) : string

Descrição

Certifica que o conteúdo é seguro para injetar como boleano (verdadeiro ou falso) numa query direto à base de dados, previne ataques de SQL Injection.

Atributos
NOMETIPODESCRIÇÃO
dadosstringInformação que precisa ser utilizada como boleano (verdadeiro ou falso) em base de dados com risco de SQL Injection.
Retorno

( string )

Conteúdo como boleano (verdadeiro ou falso) seguro para utilizar diretamente em queries.


sanitizeFloat


_db.sanitizeFloat(dados: string) : string

Descrição

Certifica que o conteúdo é seguro para injetar como número decimal numa query direto à base de dados, previne ataques de SQL Injection.

Atributos
NOMETIPODESCRIÇÃO
dadosstringInformação que precisa ser utilizada como número decimal em base de dados com risco de SQL Injection.
Retorno

( string )

Conteúdo como número decimal seguro para utilizar diretamente em queries.


sanitizeInt


_db.sanitizeInt(dados: string) : string

Descrição

Certifica que o conteúdo é seguro para injetar como número inteiro numa query direto à base de dados, previne ataques de SQL Injection.

Atributos
NOMETIPODESCRIÇÃO
dadosstringInformação que precisa ser utilizada como número inteiro em base de dados com risco de SQL Injection.
Retorno

( string )

Conteúdo como número inteiro seguro para utilizar diretamente em queries.


sanitizeName


_db.sanitizeName(dados: string) : string

Descrição

Certifica que o conteúdo é seguro para injetar como um nome de tabela ou coluna numa query direto à base de dados, previne ataques de SQL Injection.

Atributos
NOMETIPODESCRIÇÃO
dadosstringInformação que precisa ser utilizada como nome de tabela ou coluna em base de dados com risco de SQL Injection.
Retorno

( string )

Conteúdo como nome de tabela ou coluna seguro para utilizar diretamente em queries.


sanitizePath


_db.sanitizePath(dados: string) : string

Descrição

Certifica que o conteúdo é seguro para injetar como um caminho do nome da tabela seguido por um ponto e então o nome da coluna (tabela.coluna), em query direto à base de dados, previne ataques de SQL Injection.

Atributos
NOMETIPODESCRIÇÃO
dadosstringInformação que precisa ser utilizada como caminho (tabela.nome) em base de dados com risco de SQL Injection.
Retorno

( string )

Conteúdo como caminho (tabela.nome) seguro para utilizar diretamente em queries.


save


_db.save(tabela: string, uid: int, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a inserção ou atualização de um registo na base de dados baseado no UID.

Como Usar
// Executa a adição através do UID

const uid = "1d8722f4-fa28-4a08-8098-6dd5cab1b212";

const result = _db.save(
"cliente",
uid,
_val.map()
.set("name", "nome")
.set("mail", "mail@netuno.org")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados.
uidintUID do registo a eliminar.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela eliminação.


_db.save(tabela: string, uid: int, dados: Values) : int

Descrição

Executa a inserção ou atualização de um registo na base de dados baseado no UID.

Como Usar
// Executa a adição através do UID

const uid = "1d8722f4-fa28-4a08-8098-6dd5cab1b212";

const result = _db.save(
"cliente",
uid,
_val.map()
.set("name", "nome")
.set("mail", "mail@netuno.org")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados.
uidintUID do registo a eliminar.
dadosValuesObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela eliminação.


_db.save(tabela: string, uid: string, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a inserção ou atualização de um registo na base de dados baseado no UID.

Como Usar
// Executa a adição através do UID

const uid = "1d8722f4-fa28-4a08-8098-6dd5cab1b212";

const result = _db.save(
"cliente",
uid,
_val.map()
.set("name", "nome")
.set("mail", "mail@netuno.org")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados.
uidstringUID do registo a eliminar.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela eliminação.


_db.save(tabela: string, uid: string, dados: Values) : int

Descrição

Executa a inserção ou atualização de um registo na base de dados baseado no UID.

Como Usar
// Executa a adição através do UID

const uid = "1d8722f4-fa28-4a08-8098-6dd5cab1b212";

const result = _db.save(
"cliente",
uid,
_val.map()
.set("name", "nome")
.set("mail", "mail@netuno.org")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados.
uidstringUID do registo a eliminar.
dadosValuesObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela eliminação.



_db.search(tabela: string, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : DBSearchResult

Descrição

Executa uma pesquisa a uma tabela retornando um objeto do tipo DBSearchResult.

Como Usar
var query = _db.search(
'worker',
_val.map()
.set('active','1'));

_out.json({data: query.getResults(),total: query.getTotal()});
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve obter os dados.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaDados para se efectuar a pesquisa.
Retorno

( DBSearchResult )

Objeto do tipo DBSearchResult.


_db.search(table: string, data: Config | Exec | Header | Req | Res | Values | DataSchema, wildcards: boolean) : DBSearchResult

Atributos
NOMETIPODESCRIÇÃO
tablestring
dataConfig | Exec | Header | Req | Res | Values | DataSchema
wildcardsboolean
Retorno

( DBSearchResult )


_db.search(tabela: string, dados: Values) : DBSearchResult

Descrição

Executa uma pesquisa a uma tabela retornando um objeto do tipo DBSearchResult.

Como Usar
var query = _db.search(
'worker',
_val.map()
.set('active','1'));

_out.json({data: query.getResults(),total: query.getTotal()});
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve obter os dados.
dadosValuesDados para se efectuar a pesquisa.
Retorno

( DBSearchResult )

Objeto do tipo DBSearchResult.


_db.search(table: string, data: Values, wildcards: boolean) : DBSearchResult

Atributos
NOMETIPODESCRIÇÃO
tablestring
dataValues
wildcardsboolean
Retorno

( DBSearchResult )


sequence


_db.sequence() : Sequence

Descrição

Realiza a manipulação de sequências em base de dados.

Como Usar
if (!_db.checkExists().sequence("client", "name")) {
_db.index().create(
"client", // Nome da Tabela
"name" // Nome da Coluna
); // O index client_name_idx será criado criado.
}
Retorno

( Sequence )


store


_db.store(tabela: string, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a atualização de um valor caso ele exista baseando-se numa chave primária ou uma inserção quando nenhum dado existe com a mesma chave primária. Este tipo de operação é útil quando não é possível utilizar IDs em determinadas operações.

Como Usar
// Se existir algum dado na tabela worker com o campo name (a chave primária nesta tabela)// igual ao inserido na query todos os dados serão atualizados// Se não existir algum dado a informação será inserida na tabelavar dadosStore = _db.store(
'worker',
_val.map()
.set('name','Netuno')
);
_out.json({dadosStore: dadosStore})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaObjeto com a estrutura de dados que será inserido.
Retorno

( int )

ID do dado que foi inserido ou ID do dado já existente.


_db.store(tabela: string, dados: Values) : int

Descrição

Executa a atualização de um valor caso ele exista baseando-se numa chave primária ou uma inserção quando nenhum dado existe com a mesma chave primária. Este tipo de operação é útil quando não é possível utilizar IDs em determinadas operações.

Como Usar
// Se existir algum dado na tabela worker com o campo name (a chave primária nesta tabela)// igual ao inserido na query todos os dados serão atualizados// Se não existir algum dado a informação será inserida na tabelavar dadosStore = _db.store(
'worker',
_val.map()
.set('name','Netuno')
);
_out.json({dadosStore: dadosStore})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
dadosValuesObjeto com a estrutura de dados que será inserido.
Retorno

( int )

ID do dado que foi inserido ou ID do dado já existente.


table


_db.table() : Table

Descrição

Verifica se sequências, tabelas, colunas e indexes existem na base de dados.

Como Usar
if (!_db.checkExists().table("client")) {
_db.table().create(
"client",
_db.column().setName("id").setType("int").setPrimaryKey(true),
_db.column().setName("name").setType("varchar").setNotNull(true).setDefault()
);
}
Retorno

( Table )


time


_db.time() : java.sql.Time

Descrição

Obtém a hora atual para ser utilizada em operações de base de dados.

Retorno

( java.sql.Time )

Hora atual.


_db.time(time: java.lang.Long) : java.sql.Time

Descrição

Através do número longo que identifica a hora exata, cria um novo objeto Time para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
timejava.lang.LongNúmero longo referente a hora exato.
Retorno

( java.sql.Time )

Novo objeto do tipo: java.sql.Time


_db.time(texto: string) : java.sql.Time

Descrição

Com o conteúdo de texto obtém o objeto de hora para ser utilizada em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
textostringTexto que contém hora no formato: HH:mm:ss
Retorno

( java.sql.Time )

Hora obtida do texto.


_db.time(instant: java.time.Instant) : java.util.Date

Descrição

Através do objeto Instant cria um novo objeto Date com java.sql.Time.from, para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
instantjava.time.InstantObjeto do tipo: java.time.Instant
Retorno

( java.util.Date )

Novo objeto do tipo: java.util.Date


_db.time(localDateTime: java.time.LocalTime) : java.sql.Time

Descrição

Através do objeto LocalDateTime cria um novo objeto Time para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
localDateTimejava.time.LocalTimeObjeto do tipo: java.time.LocalDateTime
Retorno

( java.sql.Time )

Novo objeto do tipo: java.sql.Time


timestamp


_db.timestamp() : java.sql.Timestamp

Descrição

Obtém a data e hora atual para ser utilizada em operações de base de dados.

Retorno

( java.sql.Timestamp )

Data e hora atual.


_db.timestamp(time: java.lang.Long) : java.sql.Timestamp

Descrição

Através do número longo que identifica o tempo exato, cria um novo objeto Timestamp para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
timejava.lang.LongNúmero longo referente ao tempo exato.
Retorno

( java.sql.Timestamp )

Novo objeto do tipo: java.sql.Timestamp


_db.timestamp(texto: string) : java.sql.Timestamp

Descrição

Com o conteúdo de texto obtém o objeto de data e hora para ser utilizada em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
textostringTexto que contém data e hora no formato: yyyy-MM-dd HH:mm:ss
Retorno

( java.sql.Timestamp )

Data e hora obtida do texto.


_db.timestamp(instant: java.time.Instant) : java.sql.Timestamp

Descrição

Através do objeto Instant cria um novo objeto Timestamp para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
instantjava.time.InstantObjeto do tipo: java.time.Instant
Retorno

( java.sql.Timestamp )

Novo objeto do tipo: java.sql.Timestamp


_db.timestamp(localDateTime: java.time.LocalDateTime) : java.sql.Timestamp

Descrição

Através do objeto LocalDateTime cria um novo objeto Timestamp para ser utilizado em operações de base de dados.

Atributos
NOMETIPODESCRIÇÃO
localDateTimejava.time.LocalDateTimeObjeto do tipo: java.time.LocalDateTime
Retorno

( java.sql.Timestamp )

Novo objeto do tipo: java.sql.Timestamp


toFloat


_db.toFloat(texto: string) : string

Descrição

Garante que é um número com casas decimais válido para ser utilizado diretamente numa query evitando SQL Injection.

Como Usar
const valorMaximoSeguro = _db.toFloat(_req.getString("valor_maximo"))

_out.json(
_db.query(`
select * from produto
where preco < ${valorMaximoSeguro}
`)
)
Atributos
NOMETIPODESCRIÇÃO
textostringNúmero que será verificado se é float para utilizar na query.
Retorno

( string )

Conteúdo que é seguro utilizar diretamente em query como número com casas decimais (float).


toInt


_db.toInt(texto: string) : string

Descrição

Garante que é um número inteiro válido para ser utilizado diretamente numa query evitando SQL Injection.

Como Usar
const idSeguro = _db.toInt(_req.getString("id"))

_out.json(
_db.query(`
select * from cliente
where id = ${idSeguro}
`)
)
Atributos
NOMETIPODESCRIÇÃO
textostringNúmero que será verificado se é inteiro para utilizar na query.
Retorno

( string )

Conteúdo que é seguro utilizar diretamente em query como número/inteiro.


toIntSequence


_db.toIntSequence(texto: string) : string

Descrição

Garante que é uma sequência de números separados por vírgula para ser utilizado diretamente numa query evitando SQL Injection.

Como Usar
// Garante que a sequência de IDs é algo como:// 3,5,600,1000
const idsSeguros = _db.toIntSequence(_req.getString("ids"))

_out.json(
_db.query(`
select * from cliente
where id in (${idsSeguros})
`)
)
Atributos
NOMETIPODESCRIÇÃO
textostringNúmeros que serão verificados se são inteiros para utilizar na query.
Retorno

( string )

Conteúdo sequêncial numérico que é seguro utilizar diretamente em query.


toRawName


_db.toRawName(texto: string) : string

Descrição

Certifica que o conteúdo passado é um nome válido para ser utilizado em queries diretas à base de dados, se não for então retorna um erro. Por exemplo válida se o nome está no formato para ser um nome de nome_da_tabela ou de nome_da_coluna.

Como Usar
var toRawName = _db.toRawName('worker')
Atributos
NOMETIPODESCRIÇÃO
textostringNome que será verificado se pode ser utilizado como nome de tabela ou nome de coluna.
Retorno

( string )

Retorna o nome que é seguro utilizar diretamente em queries.


toRawPath


_db.toRawPath(texto: string) : string

Descrição

Certifica que o conteúdo passado é um caminho válido para ser utilizado em queries diretas à base de dados, se não for então retorna um erro. Por exemplo válida se o caminho é compatível com nome_da_tabela.nome_da_coluna.

Como Usar
var rawPath = _db.toRawPath('worker.name')
Atributos
NOMETIPODESCRIÇÃO
textostringString que será verificada para utilizar como caminho em queries à BD.
Retorno

( string )

Retorna o caminho que é seguro utilizar diretamente em queries.


toString


_db.toString() : string

Descrição

Garante que é uma string válida para ser utilizada diretamente numa query evitando SQL Injection.

Como Usar
// Evita SQL Injection                                                                                                          

const nomeSeguro = _db.toString(_req.getString('name'))

_out.json(
_db.query(`
select * from client
where name = '${nomeSeguro}'
`)
)
Retorno

( string )

Conteúdo que é seguro utilizar diretamente em query como string/varchar/texto.


_db.toString(texto: string) : string

Descrição

Garante que é uma string válida para ser utilizada diretamente numa query evitando SQL Injection.

Como Usar
// Evita SQL Injection                                                                                                          

const nomeSeguro = _db.toString(_req.getString('name'))

_out.json(
_db.query(`
select * from client
where name = '${nomeSeguro}'
`)
)
Atributos
NOMETIPODESCRIÇÃO
textostringString que será verificada para utilizar diretamente em queries à BD.
Retorno

( string )

Conteúdo que é seguro utilizar diretamente em query como string/varchar/texto.


update


_db.update(tabela: string, id: int, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a atualização de dados existentes de acordo com o id ou uid que vem nos dados que são passados.

Como Usar
var result = _db.update(
"cliente",
1, // ID do registo que será afetado.
_val.map()
.set("name", "Sitana")
.set("mail", "admin@sitana.pt")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela que contém os registos que devem ser atualizados.
idintID do registo que será afetado pela atualização.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela atualização.


_db.update(tabela: string, id: int, dados: Values) : int

Descrição

Executa a atualização de dados existentes de acordo com o id ou uid que vem nos dados que são passados.

Como Usar
var result = _db.update(
"cliente",
1, // ID do registo que será afetado.
_val.map()
.set("name", "Sitana")
.set("mail", "admin@sitana.pt")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela que contém os registos que devem ser atualizados.
idintID do registo que será afetado pela atualização.
dadosValuesObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela atualização.


_db.update(tabela: string, uid: string, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a atualização de dados existentes de acordo com um id específico.

Como Usar
var uid = "98502cff-d1e1-4efc-8efe-840320925316";

var result = _db.update(
"cliente",
uid,
_val.map()
.set("nome", "Sitana")
.set("mail", "admin@sitana.pt")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela que contém os registos que devem ser atualizados.
uidstringUID do registo que será afetado pela atualização.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela atualização.


_db.update(tabela: string, uid: string, dados: Values) : int

Descrição

Executa a atualização de dados existentes de acordo com um id específico.

Como Usar
var uid = "98502cff-d1e1-4efc-8efe-840320925316";

var result = _db.update(
"cliente",
uid,
_val.map()
.set("nome", "Sitana")
.set("mail", "admin@sitana.pt")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela que contém os registos que devem ser atualizados.
uidstringUID do registo que será afetado pela atualização.
dadosValuesObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela atualização.


_db.update(tabela: string, dados: Config | Exec | Header | Req | Res | Values | DataSchema) : int

Descrição

Executa a atualização de dados existentes de acordo com o id ou uid que vem nos dados que são passados.

Como Usar
var result = _db.update(
"cliente",
_val.map()
.set("id", 1)
.set("name", "Sitana")
.set("mail", "admin@sitana.pt")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela que contém os registos que devem ser atualizados.
dadosConfig | Exec | Header | Req | Res | Values | DataSchemaObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela atualização.


_db.update(tabela: string, dados: Values) : int

Descrição

Executa a atualização de dados existentes de acordo com o id ou uid que vem nos dados que são passados.

Como Usar
var result = _db.update(
"cliente",
_val.map()
.set("id", 1)
.set("name", "Sitana")
.set("mail", "admin@sitana.pt")
);

_out.json(
"result": result
);
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela que contém os registos que devem ser atualizados.
dadosValuesObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela atualização.


updateMany


_db.updateMany(tabela: string, listaDados: [Ljava.lang.Object;[]) : int[]

Descrição

Executa a atualização várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores. É necessário que cada objeto possua o id ou uid do dado que será alterado

Como Usar
var dadosAlterados = _db.updateMany(
'worker',
_val.list()
.add(_val.map()
.set('id', 1)
.set('name','Netuno')
)
.add(_val.map()
.set('id', 2)
.set('name','Sitana')
)
);
_out.json({dados: dadosAlterados})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDados[Ljava.lang.Object;[]Array ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com a quantidade de registos alterados para cada objeto dentro da lista.


_db.updateMany(tabela: string, listaDados: java.util.List) : int[]

Descrição

Executa a atualização várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores. É necessário que cada objeto possua o id ou uid do dado que será alterado

Como Usar
var dadosAlterados = _db.updateMany(
'worker',
_val.list()
.add(_val.map()
.set('id', 1)
.set('name','Netuno')
)
.add(_val.map()
.set('id', 2)
.set('name','Sitana')
)
);
_out.json({dados: dadosAlterados})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDadosjava.util.ListArray ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com a quantidade de registos alterados para cada objeto dentro da lista.


_db.updateMany(tabela: string, listaDados: Values) : int[]

Descrição

Executa a atualização várias linhas numa tabela atravás de um Array de Objetos ou uma Lista de Valores. É necessário que cada objeto possua o id ou uid do dado que será alterado

Como Usar
var dadosAlterados = _db.updateMany(
'worker',
_val.list()
.add(_val.map()
.set('id', 1)
.set('name','Netuno')
)
.add(_val.map()
.set('id', 2)
.set('name','Sitana')
)
);
_out.json({dados: dadosAlterados})
Atributos
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve receber os dados que serão inseridos.
listaDadosValuesArray ou lista de objetos com a estrutura de dados que será inserida.
Retorno

( int[] )

Array com a quantidade de registos alterados para cada objeto dentro da lista.


where


_db.where() : Where

Descrição

Retorna um novo objeto Where pronto para ser configurado.

Retorno

( Where )

Novo objeto Where.


_db.where(coluna: string) : Where

Descrição

Retorna um novo objeto Where pronto para ser configurado.

Atributos
NOMETIPODESCRIÇÃO
colunastringNome da coluna.
Retorno

( Where )

Novo objeto Where.