python连接数据库的封装代码
时间: 2023-07-20 20:32:33 浏览: 46
Python连接数据库的封装代码如下:
```python
import pymysql
class Database:
def __init__(self, host, user, password, database, port=3306, charset='utf8mb4'):
self.host = host
self.user = user
self.password = password
self.database = database
self.port = port
self.charset = charset
self.conn = None
self.cursor = None
def connect(self):
self.conn = pymysql.connect(host=self.host, user=self.user, password=self.password, database=self.database, port=self.port, charset=self.charset)
self.cursor = self.conn.cursor()
def close(self):
if self.cursor:
self.cursor.close()
self.cursor = None
if self.conn:
self.conn.close()
self.conn = None
def execute(self, sql, args=None):
try:
if not self.conn or not self.cursor:
self.connect()
self.cursor.execute(sql, args)
self.conn.commit()
return self.cursor.fetchall()
except Exception as e:
self.conn.rollback()
raise e
finally:
self.close()
```
这段代码使用了Python的pymysql库来连接MySQL数据库。通过Database类的构造函数来传入数据库相关的信息,包括主机名、用户名、密码、数据库名、端口号和字符集。connect()方法用于连接数据库,close()方法用于关闭数据库连接,execute()方法用于执行SQL语句,并返回查询结果。在execute()方法中,会先检查是否已经连接数据库,如果没有则先进行连接,然后执行SQL语句,并提交事务,最后关闭数据库连接。如果执行SQL语句时出现异常,则回滚事务,然后抛出异常。