49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
# -*- coding: UTF-8 -*-
|
||
import pymysql
|
||
|
||
class Mysql(object):
|
||
|
||
def __init__(self):
|
||
|
||
#配置mysql数据库信息
|
||
config = {
|
||
'host': '127.0.0.1',
|
||
'port': 3306,
|
||
'user': 'root',
|
||
'passwd': '123456',
|
||
'db': 'news',
|
||
'charset': 'utf8'
|
||
}
|
||
|
||
self.host = config['host']
|
||
self.username = config['user']
|
||
self.password = config['passwd']
|
||
self.port = config['port']
|
||
self.db = config['db']
|
||
self.con = None
|
||
self.cursor = None
|
||
|
||
try:
|
||
self.conn = pymysql.connect(**config)
|
||
# 所有的查询,都在连接 con 的一个模块 cursor 上面运行的
|
||
self.cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
|
||
except:
|
||
print("DataBase connect error,please check the db config.")
|
||
|
||
def exeCommit(self, sql=''):
|
||
"""执行数据库sql语句,针对更新,删除,事务等操作失败时回滚
|
||
"""
|
||
try:
|
||
execute = self.cursor.execute(sql)
|
||
self.conn.commit()
|
||
return execute
|
||
except pymysql.Error as e:
|
||
self.conn.rollback()
|
||
error = 'MySQL execute failed! ERROR (%s): %s' % (e.args[0], e.args[1])
|
||
print("error:", error)
|
||
return error
|
||
|
||
def __del__(self):
|
||
# 关闭cursor对象
|
||
self.cursor.close()
|
||
self.conn.close() |