pymysql DAO简单封装

Posted whitesky_root

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pymysql DAO简单封装相关的知识,希望对你有一定的参考价值。

 

 

#!/usr/bin/env python
# -*-coding:utf-8 -*-
#
#  无法执行多个query,self.conn.close()放在CdbConn类的单独函数中,每次query之后要手动close;否则多次query,会自动关闭
import pymysql


class CdbConn():
    def __init__(self, db_host,  db_user, db_pwd, db_name, db_port=3306):
        self.db_host = db_host
        self.db_port = db_port
        self.db_user = db_user
        self.db_pwd = db_pwd
        self.db_name = db_name
        self.status = True
        self.conn = self.getConnection()


    def getConnection(self):
        try:
            conn =  pymysql.Connect(
                host=self.db_host,  # 设置MYSQL地址
                port=int(self.db_port),  # 设置端口号
                user=self.db_user,  # 设置用户名
                passwd=self.db_pwd,  # 设置密码
                db=self.db_name,  # 数据库名
                charset=utf8,  # 设置编码
                use_unicode=True
            )
            return conn
        except Exception as e:
            self.status = False
            print(数据库连接异常: , e)

    def query(self, sqlString):
        cursor = self.conn.cursor()
        cursor.execute(sqlString)
        returnData = cursor.fetchall()
        cursor.close()
        # self.conn.close()
        return returnData

    def close(self):
        self.conn.close()

    def update(self, sqlString):
        cursor = self.conn.cursor()
        cursor.execute(sqlString)
        self.conn.commit()
        cursor.close()
        # self.conn.close()

 

以上是关于pymysql DAO简单封装的主要内容,如果未能解决你的问题,请参考以下文章

python-pymysql常用功能封装

python-pymysql常用功能封装

数据库操作 pymysql 封装处理(中级)

Java通过JDBC 进行Dao层的封装

SSH 项目中 用Hibernate底层 简单的封装DAO层

MyBatis高级特性