mysql.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # -*- coding: UTF-8 -*-
  2. import pymysql
  3. class Mysql(object):
  4. def __init__(self):
  5. #配置mysql数据库信息
  6. config = {
  7. 'host': '127.0.0.1',
  8. 'port': 3306,
  9. 'user': 'root',
  10. 'passwd': '123456',
  11. 'db': 'news',
  12. 'charset': 'utf8'
  13. }
  14. self.host = config['host']
  15. self.username = config['user']
  16. self.password = config['passwd']
  17. self.port = config['port']
  18. self.db = config['db']
  19. self.con = None
  20. self.cursor = None
  21. try:
  22. self.conn = pymysql.connect(**config)
  23. # 所有的查询,都在连接 con 的一个模块 cursor 上面运行的
  24. self.cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
  25. except:
  26. print("DataBase connect error,please check the db config.")
  27. def exeCommit(self, sql=''):
  28. """执行数据库sql语句,针对更新,删除,事务等操作失败时回滚
  29. """
  30. try:
  31. execute = self.cursor.execute(sql)
  32. self.conn.commit()
  33. return execute
  34. except pymysql.Error as e:
  35. self.conn.rollback()
  36. error = 'MySQL execute failed! ERROR (%s): %s' % (e.args[0], e.args[1])
  37. print("error:", error)
  38. return error
  39. def __del__(self):
  40. # 关闭cursor对象
  41. self.cursor.close()
  42. self.conn.close()