Doc
  • Comece Já
  • Academia
  • Biblioteca
  • Languages iconPortuguês
    • English

›Resources

Biblioteca

  • Visão Geral
  • Introdução

Resources & Objects

    Resources

    • App
    • Auth
    • Component
    • Config
    • Convert
    • CORS
    • Cron
    • Crypto
    • CSV
    • DB
    • Env
    • Error
    • Exec
    • Firebase
    • Form
    • Group
    • Header
    • HTML
    • Jasper
    • Jwt
    • Lang
    • Log
    • Monitor
    • OS
    • Out
    • PDF
    • RabbitMQ
    • Random
    • Remote
    • Form
    • Req
    • Res
    • Server
    • Setup
    • SMTP
    • Storage
    • Template
    • Time
    • Uid
    • Url
    • User
    • Val
    • WebSocket
    • XLS
    • XML

    Objects

    • Async
    • CheckExists
    • Column
    • DataItem
    • DataSchema
    • DBBatch
    • DBSearchResult
    • File
    • Index
    • InputStream
    • OSCommand
    • OutputStream
    • RandomString
    • RemoteResponse
    • Sequence
    • Service
    • SMTPConfig
    • Table
    • Values
    • XLSPosition

Pasta das Apps

  • Estrutura da pasta de aplicação
  • Config
  • DB
  • Public
  • Server
  • Storage
  • UI

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(arg0: string) : List

Atributos
NOMETIPODESCRIÇÃO
arg0string
Retorno

( List )


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

Retorno

( CheckExists )


column


_db.column() : Column

Retorno

( Column )


date


_db.date() : Date

Descrição

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

Retorno

( Date )

Data atual.


_db.date(time: Long) : 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

( Date )

Novo objeto do tipo: java.sql.Date


_db.date(texto: string) : 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

( Date )

Data obtida do texto.


_db.date(instant: Instant) : 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
instantInstantObjeto do tipo: java.time.Instant
Retorno

( Date )

Novo objeto do tipo: java.util.Date


_db.date(localDateTime: LocalDate) : 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
localDateTimeLocalDateObjeto do tipo: java.time.LocalDateTime
Retorno

( 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: 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.
dadosMapEstrutura 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(arg0: string, arg1: Object[]) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Object[]
Retorno

( int[] )


_db.deleteMany(arg0: string, arg1: List) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1List
Retorno

( int[] )


_db.deleteMany(arg0: string, arg1: Values) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Values
Retorno

( int[] )


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: 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.
parametrosObject[]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: 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.
parametrosListLista 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) : 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

( 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(arg0: string, arg1: Values) : string

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Values
Retorno

( string )


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.


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 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
_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

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: 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.
dadosMapObjeto 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(arg0: string, arg1: Map) : int

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Map
Retorno

( int )


_db.insertIfNotExists(arg0: string, arg1: Values) : int

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Values
Retorno

( int )


insertMany


_db.insertMany(arg0: string, arg1: Object[]) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Object[]
Retorno

( int[] )


_db.insertMany(arg0: string, arg1: List) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1List
Retorno

( int[] )


_db.insertMany(arg0: string, arg1: Values) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Values
Retorno

( int[] )


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.


query


_db.query(arg0: string) : 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
arg0string
Retorno

( List )

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


_db.query(query: string, params: Object[]) : 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.
paramsObject[]Lista de parâmetros de valores que serão injetados no comando (query) de base de dados.
Retorno

( List )

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


_db.query(query: string, params: List) : 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.
paramsListLista de parâmetros de valores que serão injetados no comando (query) de base de dados.
Retorno

( List )

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


_db.query(query: string, params: Values) : 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

( 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: 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.
paramsObject[]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: 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.
paramsListLista 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(arg0: string, arg1: int, arg2: Map) : int

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1int
arg2Map
Retorno

( int )


_db.save(arg0: string, arg1: int, arg2: Values) : int

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1int
arg2Values
Retorno

( int )


_db.save(arg0: string, arg1: string, arg2: Map) : int

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1string
arg2Map
Retorno

( int )


_db.save(arg0: string, arg1: string, arg2: Values) : int

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1string
arg2Values
Retorno

( int )


search


_db.search(arg0: string, arg1: Map) : DBSearchResult

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Map
Retorno

( DBSearchResult )


_db.search(arg0: string, arg1: Map, arg2: boolean) : DBSearchResult

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Map
arg2boolean
Retorno

( DBSearchResult )


_db.search(arg0: string, arg1: Values) : DBSearchResult

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Values
Retorno

( DBSearchResult )


_db.search(arg0: string, arg1: Values, arg2: boolean) : DBSearchResult

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Values
arg2boolean
Retorno

( DBSearchResult )


sequence


_db.sequence() : Sequence

Retorno

( Sequence )


store


_db.store(arg0: string, arg1: Map) : int

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Map
Retorno

( int )


_db.store(arg0: string, arg1: Values) : int

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Values
Retorno

( int )


table


_db.table() : Table

Retorno

( Table )


time


_db.time() : Time

Descrição

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

Retorno

( Time )

Hora atual.


_db.time(time: Long) : 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

( Time )

Novo objeto do tipo: java.sql.Time


_db.time(texto: string) : 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

( Time )

Hora obtida do texto.


_db.time(instant: Instant) : 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
instantInstantObjeto do tipo: java.time.Instant
Retorno

( Date )

Novo objeto do tipo: java.util.Date


_db.time(localDateTime: LocalTime) : 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
localDateTimeLocalTimeObjeto do tipo: java.time.LocalDateTime
Retorno

( Time )

Novo objeto do tipo: java.sql.Time


timestamp


_db.timestamp() : Timestamp

Descrição

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

Retorno

( Timestamp )

Data e hora atual.


_db.timestamp(time: Long) : 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

( Timestamp )

Novo objeto do tipo: java.sql.Timestamp


_db.timestamp(texto: string) : 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

( Timestamp )

Data e hora obtida do texto.


_db.timestamp(instant: Instant) : 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
instantInstantObjeto do tipo: java.time.Instant
Retorno

( Timestamp )

Novo objeto do tipo: java.sql.Timestamp


_db.timestamp(localDateTime: LocalDateTime) : 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
localDateTimeLocalDateTimeObjeto do tipo: java.time.LocalDateTime
Retorno

( Timestamp )

Novo objeto do tipo: java.sql.Timestamp


toFloat


_db.toFloat(arg0: 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
arg0string
Retorno

( string )

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


toInt


_db.toInt(arg0: 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
arg0string
Retorno

( string )

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


toIntSequence


_db.toIntSequence(arg0: 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
arg0string
Retorno

( string )

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


toRawName


_db.toRawName(arg0: 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.

Atributos
NOMETIPODESCRIÇÃO
arg0string
Retorno

( string )

Retorna o nome que é seguro utilizar diretamente em queries.


toRawPath


_db.toRawPath(arg0: 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.

Atributos
NOMETIPODESCRIÇÃO
arg0string
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(arg0: 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
arg0string
Retorno

( string )

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


update


_db.update(tabela: string, id: int, dados: 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.
dadosMapObjeto com a estrutura de dados que deverá ser atualizado.
Retorno

( int )

Quantidade de registos afetados pela atualização.


_db.update(tabela: string, uid: int, 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.
uidintUID 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: 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.
dadosMapObjeto 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: 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.
dadosMapObjeto 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(arg0: string, arg1: Object[]) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Object[]
Retorno

( int[] )


_db.updateMany(arg0: string, arg1: List) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1List
Retorno

( int[] )


_db.updateMany(arg0: string, arg1: Values) : int[]

Atributos
NOMETIPODESCRIÇÃO
arg0string
arg1Values
Retorno

( int[] )


← PreviousNext →
  • all
  • batch
  • checkExists
  • column
  • date
  • delete
  • deleteMany
  • escape
  • escapeEnd
  • escapeStart
  • execute
  • find
  • findFirst
  • findQuery
  • get
  • getKey
  • index
  • init
  • insert
  • insertIfNotExists
  • insertMany
  • isH2
  • isH2DataBase
  • isMariaDB
  • isPG
  • isPostgreSQL
  • query
  • queryFirst
  • sanitize
  • sanitizeBoolean
  • sanitizeFloat
  • sanitizeInt
  • sanitizeName
  • sanitizePath
  • save
  • search
  • sequence
  • store
  • table
  • time
  • timestamp
  • toFloat
  • toInt
  • toIntSequence
  • toRawName
  • toRawPath
  • toString
  • update
  • updateMany

Open Source

Download

admin@netuno.org

support@netuno.org

Copyright © Sitana 2022