Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan rangka kerja ORM dalam pengaturcaraan pelayan Python?

Bagaimana untuk menggunakan rangka kerja ORM dalam pengaturcaraan pelayan Python?

WBOY
WBOYasal
2023-06-18 17:12:11914semak imbas

Dengan penggunaan Python yang meluas dalam pengaturcaraan sisi pelayan, rangka kerja ORM (Pemetaan Perhubungan Objek) telah menjadi bahagian penting dalam pengaturcaraan pelayan Python. Rangka kerja ORM memudahkan operasi pangkalan data dengan memetakan data dalam pangkalan data kepada objek Python dan mengabstraksi antara muka biasa, membolehkan pembangun menumpukan lebih pada pelaksanaan logik perniagaan berbanding operasi pangkalan data asas. Artikel ini akan memperkenalkan cara menggunakan rangka kerja ORM dalam pengaturcaraan pelayan Python.

Kelebihan rangka kerja ORM

Dalam operasi pangkalan data tradisional, kita perlu menggunakan pernyataan SQL untuk menambah, memadam, mengubah suai dan menanyakan pangkalan data. Operasi sedemikian memerlukan pemahaman tentang struktur pangkalan data, struktur jadual data dan sintaks SQL, dan sukar untuk dikekalkan dan dikembangkan. Penggunaan rangka kerja ORM boleh memetakan jadual data ke kelas Python dan operasi abstrak penambahan, pemadaman, pengubahsuaian dan pertanyaan, dengan itu memudahkan pembangunan. Kelebihan rangka kerja ORM adalah seperti berikut:

  1. Jadual data abstrak

Jadual data ialah unit storan paling asas dalam pangkalan data. Menggunakan rangka kerja ORM, kita boleh memetakan jadual data ke dalam kelas Python, dan atribut dalam kelas sepadan dengan nama lajur dalam jadual data, dengan itu merealisasikan abstraksi jadual data. Dengan cara ini, pengendalian pada jadual data adalah setara dengan operasi pada kelas Python.

  1. Memudahkan operasi

Menggunakan rangka kerja ORM, kita boleh menggunakan fungsi dan kaedah Python mudah untuk mengendalikan pangkalan data, dan merangkum operasi SQL yang mendasari, hanya perlu memanggil kaedah Anda boleh melakukan operasi tambah, padam, ubah suai dan semak.

  1. Kurangkan kesukaran penyelenggaraan

Menggunakan rangka kerja ORM, anda boleh mengabstrakkan butiran asas operasi pangkalan data dan mengurangkan gandingan antara pangkalan data dan kod, dengan itu mengurangkan penyelenggaraan dan pengembangan. Kesukaran itu membolehkan pembangun lebih fokus pada pelaksanaan logik perniagaan.

Pilih rangka kerja ORM yang sesuai

Terdapat banyak rangka kerja ORM dalam Python, termasuk Django ORM, SQLAlchemy, Peewee, dll. Apabila memilih rangka kerja ORM yang sesuai, anda perlu mengambil kira aspek berikut:

  1. Adakah ia serasi dengan rangka kerja pembangunan anda sendiri?

Jika anda menggunakan rangka kerja web Python , seperti Flask atau Django , anda perlu memastikan bahawa rangka kerja ORM yang anda pilih adalah serasi dengan rangka kerja tersebut.

  1. Sokongan pangkalan data

Rangka kerja ORM yang berbeza menyokong pangkalan data yang berbeza Contohnya, Django ORM hanya menyokong PostgreSQL, MySQL dan SQLite, manakala SQLAlchemy menyokong lebih banyak pangkalan data seperti Oracle. Pelayan SQL, MySQL, dll. Oleh itu, anda perlu memilih rangka kerja ORM yang sesuai untuk kegunaan anda sendiri.

  1. Sokongan Fungsi

Rangka kerja ORM yang berbeza menyediakan sokongan fungsi yang berbeza untuk senario aplikasi yang berbeza. Anda perlu memilih rangka kerja ORM yang memenuhi keperluan anda berdasarkan keperluan anda sendiri.

Menggunakan SQLAlchemy untuk melaksanakan ORM

Dalam pengaturcaraan pelayan Python, SQLAlchemy ialah salah satu rangka kerja ORM yang paling popular Ia adalah kit alat SQL berciri penuh dan pustaka ORM yang boleh berfungsi dengan kebanyakan pangkalan data. untuk berinteraksi. Di bawah, kami akan memperkenalkan cara menggunakan SQLAlchemy untuk melaksanakan ORM.

Pasang SQLAlchemy

Sebelum anda mula, anda perlu memasang SQLAlchemy dahulu Anda boleh menggunakan arahan pip untuk memasangnya.

pip install sqlalchemy

Sambung ke pangkalan data

Untuk menggunakan SQLAlchemy untuk operasi ORM, anda perlu mewujudkan sambungan dengan pangkalan data terlebih dahulu. Dalam SQLAlchemy, anda boleh menggunakan create_engine()

from sqlalchemy import create_engine

DB_URI = 'postgresql://username:password@host:port/database'
engine = create_engine(DB_URI)

untuk menyambung ke pangkalan data Antaranya, DB_URI ialah rentetan sambungan pangkalan data dalam format "{dialect}://{user}:{password}@. {host}:{port }/{database}", contohnya, rentetan sambungan dalam format PostgreSQL ialah:

postgresql://myuser:mypassword@localhost:5432/mydatabase

Buat jadual data dan kelas Python

Untuk menggunakan SQLAlchemy untuk operasi pangkalan data , anda perlu memetakan jadual data ke kelas Python. Kelas Python sepadan dengan jadual data pangkalan data, dan atribut kelas sepadan dengan nama lajur dalam jadual. Sebelum membuat kelas Python, anda perlu membuat jadual data terlebih dahulu. Jadual data dalam SQLAlchemy diwakili sebagai Jadual Anda boleh menggunakan fungsi declarative_base() untuk mencipta kelas asas, dan kemudian menggunakan kelas asas untuk menentukan hubungan pemetaan antara kelas Python dan jadual pangkalan data.

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)
    email = Column(String)

Dalam kod di atas, kelas Pengguna mewarisi daripada kelas Base, atribut __tablename__ menentukan nama jadual data yang sepadan, dan kemudian setiap atribut sepadan dengan lajur dalam jadual data.

Melaksanakan operasi ORM

Sekarang kami telah mewujudkan sambungan pangkalan data dan mencipta hubungan pemetaan antara kelas Python dan jadual data, kami kini boleh mengendalikan pangkalan data.

Sisipkan data

Untuk memasukkan data, anda boleh menggunakan kaedah session.add() dan untuk melakukan transaksi, gunakan kaedah session.commit().

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)
session = Session()

user = User(name='Tom', age=20, email='tom@example.com')
session.add(user)
session.commit()

Data pertanyaan

Menggunakan SQLAlchemy untuk melaksanakan operasi pertanyaan terbahagi terutamanya kepada dua langkah:

  1. Buat Objek jadual data pertanyaan dan gunakan Sesi untuk mencipta Objek pertanyaan.
  2. Gunakan kaedah seperti penapis() dan order_by() dalam objek Pertanyaan untuk membuat pertanyaan.
users = session.query(User).filter(User.age > 18).order_by(User.age.desc()).all()
for user in users:
    print(user.name, user.age, user.email)

Kemas kini data

Mengemas kini data boleh dilakukan menggunakan kaedah session.add().

user = session.query(User).filter_by(name='Tom').first()
user.age = 21
session.add(user)
session.commit()

Padam data

Untuk memadam data daripada pangkalan data, anda boleh menggunakan kaedah session.delete() untuk melaksanakan operasi pemadaman.

user = session.query(User).filter_by(name='Tom').first()
session.delete(user)
session.commit()

总结

在Python服务器编程中,ORM框架可以提供数据抽象、简化操作和降低维护难度的优势,能够加快开发速度。在选择ORM框架时,需要考虑自己的技术栈以及需求,选择相应的ORM框架。本文以SQLAlchemy为例,介绍了如何使用SQLAlchemy实现ORM操作,包括连接数据库、创建数据表和Python类以及实现增删改查操作。

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rangka kerja ORM dalam pengaturcaraan pelayan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn