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()
|