TypeORM - Operações de consulta

A manipulação de dados é usada para gerenciar e visualizar dados. Esta seção explica como acessar consultas de banco de dados como inserir, atualizar, selecionar e excluir consultas usando QueryBuilder. Vamos examinar um por um em detalhes.

Criar consulta de inserção

Vamos criar uma entidade Cliente da seguinte maneira -

Customer.ts

import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; 
@Entity() 
export class Customer {       

   @PrimaryGeneratedColumn() 
   id: number; 
   
   @Column() 
   name: string; 
   
   @Column() 
   age: number; 
}

Vamos adicionar as seguintes alterações em index.ts da seguinte maneira -

index.ts

import "reflect-metadata"; 
import {createConnection} from "typeorm"; 
import {Customer} from "./entity/Customer"; 
import {getConnection} from "typeorm"; 

createConnection().then(async connection => { 
   await getConnection().createQueryBuilder()   .insert() 
      .into(Customer)  
      .values([ { name: "Adam",age:11}, 
         { name: "David",age:12} ]) .execute(); 
}).catch(error => console.log(error));

Agora, inicie seu aplicativo usando o comando abaixo -

npm start

Resultado

Você pode ver a seguinte saída em sua tela -

Agora abra seu servidor mysql, tabela inserida com dois campos conforme mostrado abaixo -

Criar consulta de atualização

Na última seção, inserimos duas linhas de dados. Vamos verificar como funciona a consulta de atualização. Adicione as seguintes alterações em index.ts da seguinte forma -

import "reflect-metadata"; 
import {createConnection} from "typeorm"; 
import {Customer} from "./entity/Customer"; 
import {getConnection} from "typeorm";

createConnection().then(async connection => { 

await getConnection()         
   .createQueryBuilder() .update(Customer) 
   .set({ name: "Michael" }) .where("id = :id", { id: 1 }) .execute(); 
   console.log("data updated"); 
   
}).catch(error => console.log(error));

Agora, inicie seu aplicativo usando o comando abaixo -

npm start

Você pode ver a seguinte saída em sua tela -

A tabela Mysql é modificada conforme mostrado abaixo -

Construir consulta selecionada

selectconsulta é usada para exibir os registros da tabela. Vamos adicionar o seguinte código emindex.ts como segue -

index.ts

import "reflect-metadata"; 
import {createConnection} from "typeorm"; 
import {Customer} from "./entity/Customer"; 

createConnection().then(async connection => { 

   console.log("Display records from Customer table..."); 
   const cus = new Customer();

   console.log("Loading customers from the database..."); 
   const customers = await connection.manager.find(Customer); console.log("Loaded users: ", customers); 
}).catch(error => console.log(error));

Você pode ver a seguinte saída em sua tela -

onde expressão

Vamos adicionar a expressão where na consulta para filtrar os clientes. O código de amostra é o seguinte -

import "reflect-metadata"; 
import {createConnection} from "typeorm"; 
import {Customer} from "./entity/Customer"; 
import {getConnection} from "typeorm";

createConnection().then(async connection => { 
   const customer = await getConnection() .createQueryBuilder() .select("cus") 
   .from(Customer, "cus") .where("cus.id = :id", { id: 1 }) .getOne(); 
   
   console.log(customer); 
})
.catch(error => console.log(error));

O programa acima retornará os primeiros registros de id. Você pode ver a seguinte saída em sua tela,

Da mesma forma, você pode tentar outras expressões também.

Construir consulta de exclusão

Na última seção, inserimos, atualizamos e selecionamos dados. Vamos verificar como a consulta de exclusão funciona. Adicione as seguintes alterações em index.ts da seguinte forma -

import "reflect-metadata"; 
import {createConnection} from "typeorm"; 
import {Customer} from "./entity/Customer"; 
import {getConnection} from "typeorm"; 

createConnection().then(async connection => { 
   await getConnection() .createQueryBuilder() 
   .delete() 
   .from(Customer) 
   .where("id = :id", { id: 1 }) .execute();
console.log("data deleted"); }).catch(error => console.log(error));

Você pode ver a seguinte saída em sua tela -

E sua tabela mysql é modificada da seguinte forma -