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<Values>​

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: 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
timelongNú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(localDate: 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
localDatejava.time.LocalDateObjeto do tipo: java.time.LocalDate
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: java.util.Map) : 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.
dadosjava.util.MapEstrutura 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.


deleteIfExists​


_db.deleteIfExists(tabela: string, dados: java.util.Map) : boolean​

Descrição​

Faz o delete de um registro caso ele exista.

Como Usar​
const removido = _db.deleteIfExists(
'worker',
_val.map()
.set('name','Netuno')
);
if (removido) {
_log.info('Havia registros, portanto, foram removidos com sucesso.');
}

Atributos​
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve ser eliminado os dados.
dadosjava.util.MapObjeto com a estrutura de dados que será eliminada.
Retorno​

( boolean )

Se algum registro foi encontrado e eliminado.


_db.deleteIfExists(tabela: string, dados: Values) : boolean​

Descrição​

Faz o delete de um registro caso ele exista.

Como Usar​
const removido = _db.deleteIfExists(
'worker',
_val.map()
.set('name','Netuno')
);
if (removido) {
_log.info('Havia registros, portanto, foram removidos com sucesso.');
}

Atributos​
NOMETIPODESCRIÇÃO
tabelastringNome da tabela na base de dados que deve ser eliminado os dados.
dadosValuesObjeto com a estrutura de dados que será eliminada.
Retorno​

( boolean )

Se algum registro foi encontrado e eliminado.


deleteMany​


_db.deleteMany(tabela: string, listaDados: java.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á eliminado.

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 de onde os dados serão eliminados.
listaDadosjava.lang.Object[]Array ou lista de objetos com a identificação dos dados que serão eliminados.
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á eliminado.

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 de onde os dados serão eliminados.
listaDadosjava.util.ListArray ou lista de objetos com a identificação dos dados que serão eliminados.
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á eliminado.

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 de onde os dados serão eliminados.
listaDadosValuesArray ou lista de objetos com a identificação dos dados que serão eliminados.
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: java.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.
parametrosjava.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<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 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.


getVersion​


_db.getVersion() : float​

Descrição​

Obtém e número da versão da base de dados.

Como Usar​
if (_db.isMariaDB() && _db.version() > 10.5) {
// A base de dados é MariaDB e a versão é superior a 10.5
}
Retorno​

( float )

A versão da base de dados em formato numérico, por exemplo: 10.5


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: java.util.Map) : 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.
dadosjava.util.MapObjeto 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: java.util.Map) : 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.
dadosjava.util.MapObjeto 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: java.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.
listaDadosjava.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
aliasstring
Retorno​

( 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, alias: string, column: string) : Relationship​

Atributos​
NOMETIPODESCRIÇÃO
tableNamestring
aliasstring
columnstring
Retorno​

( Relationship )


_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, alias: string, column: string) : Relationship​

Atributos​
NOMETIPODESCRIÇÃO
tableNamestring
aliasstring
columnstring
Retorno​

( Relationship )


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

Atributos​
NOMETIPODESCRIÇÃO
tableNamestring
columnstring
whereWhere
Retorno​

( Relationship )


page​


_db.page(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.


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<Values>​

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: java.lang.Object[]) : java.util.List<Values>​

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.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<Values>​

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<Values>​

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: java.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.
paramsjava.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: java.util.Map) : 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.
dadosjava.util.MapObjeto 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: java.util.Map) : 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.
dadosjava.util.MapObjeto 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: java.util.Map) : 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.
dadosjava.util.MapDados para se efectuar a pesquisa.
Retorno​

( DBSearchResult )

Objeto do tipo DBSearchResult.


_db.search(table: string, data: java.util.Map, wildcards: boolean) : DBSearchResult​

Atributos​
NOMETIPODESCRIÇÃO
tablestring
datajava.util.Map
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: java.util.Map) : 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 tabela
var 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.
dadosjava.util.MapObjeto 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 tabela
var 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: 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
timelongNú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: 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
timelongNú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: java.util.Map) : 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.
dadosjava.util.MapObjeto 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: java.util.Map) : 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.
dadosjava.util.MapObjeto 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: java.util.Map) : 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.
dadosjava.util.MapObjeto 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: java.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.
listaDadosjava.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.


version​


_db.version() : float​

Descrição​

Obtém e número da versão da base de dados.

Como Usar​
if (_db.isMariaDB() && _db.version() > 10.5) {
// A base de dados é MariaDB e a versão é superior a 10.5
}
Retorno​

( float )

A versão da base de dados em formato numérico, por exemplo: 10.5


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.