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
NOME | TIPO | DESCRIÇÃO |
---|---|---|
tabela | string | Nome 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
NOME | TIPO | DESCRIÇÃO |
---|---|---|
comandoSQL | string | Comando 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
NOME | TIPO | DESCRIÇÃO |
---|---|---|
time | long | Nú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
NOME | TIPO | DESCRIÇÃO |
---|---|---|
texto | string | Texto 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
NOME | TIPO | DESCRIÇÃO |
---|---|---|
instant | java.time.Instant | Objeto do tipo: java.time.Instant |
Retorno
( java.util.Date )
Novo objeto do tipo: java.util.Date