PythonでContext Managerを使って、MySQLに接続する方法

2020年6月28日  2020年6月28日 
PythonでContext Managerを使用すると、With句を使って開始時と終了時に処理を追加することができて便利です。
今回はContext Managerを使ってMySQLに接続してみます。


前提条件として、mysql-connector-pythonのパッケージが必要です。
ない場合は下記のコマンドを実行して、パッケージをインストールします。

pip3 install mysql-connector-python

PythonでContext Managerを使って、MySQLに接続する方法


1.まずはContext Managerクラスを実装します。

import mysql.connector

class DatabaseManager:

    # 初期化処理は__init__に記述します。
    def __init__(self, config: dict) -> None:
        self.config = config

    # Withブロックに入ったときに実行する処理は__enter__に記述します。
    def __enter__(self) -> 'cursor':
        self.connection = mysql.connector.connect(**self.config)
        self.cursor = self.connection.cursor()
        return self.cursor

    # Withブロックから出るときに実行する処理は__exit__に記述します。
    def __exit__(self, exc_type, exc_value, exc_trace) -> None:
        self.cursor.close()
        self.connection.close()


2.1で実装したContext Managerを使って、MySQLに接続します。

#from DatabaseManager import DatabaseManager

dbconfig = {
                'host': 'DBのホスト名',
                'user': 'DBのユーザー',
                'password': 'DBのパスワード',
                'database': 'DB名'
            }

with DatabaseManager(dbconfig) as cursor:
    _SQL = """select * from users"""
    cursor.execute(_SQL)
    for row in cursor.fetchall():
        print(row)

以上で、Context Managerを使ってMySQLに接続することができました。
簡単で便利なので、今後たくさん利用していきたいです。

環境

Ubuntu 20.04
Python 3.8.2

ー記事をシェアするー
B!
タグ

コメント

このブログを検索

自己紹介

自分の写真
yayao
Unityを使って、モバイルゲームを作っています。
人気の投稿