Node.JS

TypeORM Veritabanına Veri Kaydetme

Herkese merhaba, NodeJS yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda TypeORM ile veritabanına veri kaydetmeyi anlatacağım. Hadi başlayalım !

TypeORM, TypeScript ile yazılmış bir ORM (Object-Relational Mapping) kütüphanesidir ve Node.js tabanlı uygulamalarda kullanılan bir veritabanı yönetim aracıdır. Bu makalede, TypeORM kullanarak veritabanına veri kaydetmenin nasıl yapılacağına ilişkin kod örnekleri verilecektir.

TypeORM Kurulumu

Öncelikle, TypeORM’ü kurmak için aşağıdaki komutu kullanabilirsiniz:

npm install typeorm reflect-metadata mysql

Bu komutla, TypeORM, TypeScript’te metadata desteği sağlayan reflect-metadata paketi ve kullanacağımız veritabanı sürücüsü olan mysql kurulacaktır.

Veritabanına Bağlanma

TypeORM’ün kullanımı için, öncelikle ConnectionOptions adlı bir yapı tanımlayarak veritabanı bağlantı ayarlarımızı belirlememiz gerekiyor. Aşağıdaki örnek, mysql veritabanını kullanacak şekilde yapılandırılmış bir bağlantı seçeneği göstermektedir:

const connectionOptions = {
  type: 'mysql',
  host: 'localhost',
  port: 3306,
  username: 'root',
  password: 'mypassword',
  database: 'mydatabase',
  entities: [],
  synchronize: true,
};

Bu yapıda, type özelliği, kullanacağımız veritabanı türünü belirtirken, host, port, username, password ve database özellikleri, veritabanı sunucusuna bağlanmak için gereken bilgileri içermektedir. entities özelliği, veritabanında yer alacak entity sınıflarının listesi olarak belirtilirken, synchronize özelliği, herhangi bir değişiklik olduğunda otomatik olarak veritabanını güncelleyecek şekilde yapılandırılır.

Örnek Tablo Oluşturma

Bir entity sınıfı, veritabanında bir tabloya karşılık gelir. Aşağıdaki örnek, User adlı bir entity sınıfı oluşturur:

import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';

@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  name: string;

  @Column()
  email: string;

  @Column()
  password: string;
}

Bu sınıf, @Entity dekoratörü ile işaretlenir ve veritabanında users adında bir tabloya karşılık gelir. @PrimaryGeneratedColumn dekoratörü, id özelliğinin birincil anahtar olarak kullanılacağını belirtirken, @Column dekoratörleri, name, email ve password özelliklerinin veritabanı sütunlarına karşılık geleceğini belirtir.

Veri Kaydetme

Bir entity sınıfının veritabanına kaydedilmesi için, getRepository() yöntemi kullanılabilir. Aşağıdaki kod örneği, User entity sınıfını kullanarak bir kullanıcı kaydetmektedir:

import { createConnection } from 'typeorm';
import { User } from './user.entity';

createConnection(connectionOptions)
  .then(async (connection) => {
    const userRepository = connection.getRepository(User);

    const user = new User();
    user.name = 'John Doe';
    user.email = 'john.doe@example.com';
    user.password = 'password123';

    await userRepository.save(user);

    console.log('User saved successfully!');
  })
  .catch((error) => console.log(error));

Bu örnekte, createConnection() yöntemi, veritabanına bağlanmak için kullanılır. getRepository() yöntemi, User entity sınıfının veritabanıyla iletişim kurmasını sağlar. Ardından, save() yöntemi kullanılarak, yeni bir kullanıcı oluşturulur ve veritabanına kaydedilir.

Eklenen Kaydı Güncelleme

TypeORM’ün özelliklerinden biri, save() yöntemi kullanarak verileri değiştirmek için aynı entity nesnesini güncellemek mümkündür. Örneğin, aşağıdaki kod, önceki örnekte oluşturulan kullanıcının adını güncellemektedir:

user.name = 'Jane Doe';
await userRepository.save(user);

Eklenen Kaydı Silme

Ayrıca, remove() yöntemi kullanılarak bir entity nesnesi veritabanından silinebilir. Aşağıdaki örnek, önceki örnekte oluşturulan kullanıcıyı silmektedir:

await userRepository.remove(user);
console.log('User deleted successfully!');

Bu makalede, TypeORM kullanarak veritabanına veri kaydetmenin nasıl yapılacağına dair kod örnekleri verilmiştir. Entity sınıfları oluşturmak, getRepository() yöntemini kullanarak veritabanıyla iletişim kurmak, save() ve remove() yöntemleriyle verileri değiştirmek veya silmek mümkündür. TypeORM’ün daha fazla özelliği ve seçeneği mevcuttur ve bunları kullanarak veritabanı yönetim işlemlerini daha da geliştirebilirsiniz.

Evet TypeORM ile veritabanına veri kaydetme bu şekilde yapılmakta. Tüm NodeJS yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu