Utilizando Node.js com banco de dados MySQL

Olá! Neste post, falaremos sobre a utilização de bancos de dados MySQL com Node.js! Utilizarei o driver node-mysql2.

Instalação

Para instalá-lo, execute o comando

A instalação também pode ser feita adicionando o pacote mysql2 à lista de dependências de seu arquivo package.json. Para maiores detalhes consulte package.json.

Configuração

Crie o arquivo `config/database.js’ em seu projeto, e adicione as linhas a seguir, fazendo as alterações necessárias nos parâmetros de configuração.

Veja a lista completa das possíveis configurações aqui.

Utilização Básica

Para estabelecer uma conexão com o banco de dados, adicione as linhas a seguir.

Para realizar operações de banco de dados, é bastante simples:

O método end() fecha a conexão com o banco de dados, aguardando que todas as consultas pendentes sejam realizadas antes disso.

Prepared Statements

Para proteger-se contra SQL Injection, recomenda-se a utilização de prepared_statementssempre que uma consulta utilizar dados vindos do usuário. Além disso, quando várias consultas similares forem utilizadas, as consultas são executadas de maneira muito mais eficiente.

Se preferir, você pode preparar o statement manualmente.

Utilizando Pool de Conexões

Você pode, também, utilizar um pool de conexões. Para tanto, adicione ao arquivoconfig/database.js a seguinte linha:

Esse parâmetro diz o número máximo de conexões que podem ser realizadas em simultâneo com o banco de dados.

A seguir, podemos obter conexões do pool.

Transações

Utilizar transações é bastante simples.

O tratamento de erros foi simplificado por questões de legibilidade.

As funções beginTransaction, commite rollback são apenas formas simplificadas de se executar os comandos START_TRANSACTION, COMMIT e ROLLBACK no banco de dados. Contudo, alguns comandos podem gerar commits implícitos.

Utilizando Promessas

Infelizmente este pacote não suporta, nativamente, a utilização de promessas. Contudo, você pode utilizar as funções promisify() e promisifyAll() do pacote bluebird.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *