segunda-feira, 18 de julho de 2016

Usando Sqlite e node.js

“SQLite é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido.” (Wikipedia) Você não precisa de um servidor banco de dados rodando na sua máquina para poder usar o sqlite, o que facilita a vida do programador, além de ser um banco de dados leve.
Para se usar sqlite em node.js devemos fazer o uso de pacote ou módulo que nos ajude, existem vários. Um dos mais conhecidos é o node-sqlite3, que já usei e é realmente muito bom, mas não me agradei da forma com que ele retorna os dados. Por isso fiz o meu próprio módulo para sqlite, que é o sqlite-sync.js.

Instalando

A biblioteca está disponível no NPM e você pode baixa-la e instala-la com o seguinte comando:
npm install sqlite-sync

Usando

O uso do sqlite-sync é bem simples, ele foi desenvolvido para funcionar de forma síncrona ou assíncrona, e a conexão com o banco de dados é totalmente síncrona, por isso o nome. Veja como usar:

Fazendo consulta

No sqlite-sync existem várias formas de se fazer um SELECT (veja aqui), a mais simples é esta:

Inserindo dados

Assim como a consulta, a inserção pode ser feita de várias maneiras (veja aqui), a mais simples é esta, onde eu passo apenas o nome da tabela e os dados a serem inseridos em forma de objeto JSON, sendo que as chaves do objeto devem ter os mesmos nomes das colunas da tabela:

Update

Como você já deve imaginar, para se fazer um UPDATE existem várias maneiras de fazer, veja aqui, e mais simples é esta, onde passo por parâmetro o nome da tabela, os campos a serem alterados, e o campo de referencia que na maioria das vezes é a chave primária da tabela. Veja:

Síncrono e Assíncrono

sqlite-sync tem este nome, mas funciona tanto de forma síncrona como de forma assíncrona para dar ao desenvolvedor a oportunidade de escolher. É possível executar um SQL e receber o retorno em uma variável, ou então passar como parâmetro uma função de retorno (callback), veja exemplos abaixo de como fazer um e outro.

Um comentário:

  1. Casino games and bonuses - JD Marriott Hotel, Boston
    Casino games and 울산광역 출장안마 bonuses · Play now - Get the latest 경주 출장안마 casino bonuses and promotions from 익산 출장마사지 top brands. You'll have 김제 출장마사지 the feeling 천안 출장안마 that you're in for a treat

    ResponderExcluir

Postagem mais recente Postagem mais antiga Página inicial