django를 사용할 때는 django ORM을 사용하여 DB에 접근하지만 순수 python을 사용할 경우 ORM을 패키지를 통해 사용함.

JAVA : mybatis와 같은 역할

$ pip install sqlalchemy

 

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

user = 'test'
password = '1234'
host = '127.0.0.1'
port = '3306'		# mysql
dbname = 'testdb'

database = f'mysql://{user}:{password}@{host}:{port}/{dbname}?charset=utf8'		# mysql의 DBurl패턴

engine = create_engine(database, convert_unicode=True) 
Session = sessionmaker(bind=engine)			# 세션 생성
session = Session()						# 세션 접속

 

● create_engine(DBurl) : DB에 접속하는 engine 생성

 - DBurl 패턴은 DB에 따라 다름

 

 

● Session = sessionmaker(bind=데이터베이스) : 세션팩토리, bind한 DB로 세션생성

● session = Session() : 세션팩토리로 생성한 세션에 접속

+ Recent posts