数据保存到数据库中,当然少不了获取连接及执行sql 使用连接池,获取连接
@classmethod def getConnection(cls): ''' @return: 返回一个数据库连接的实例 ''' logger = logging.getLogger('myLogger.myutil.Myutil') try: if MyUtil.cnxpool is None: user = MyUtil.loadProperty('mysql', 'user') passwd = MyUtil.loadProperty('mysql', 'password') host = MyUtil.loadProperty('mysql', 'host') db = MyUtil.loadProperty('mysql', 'database') dbconfig = { "database":db, "user":user, "password":passwd, "host":host, "charset":"utf8" } MyUtil.cnxpool = mysql.connector.pooling.MySQLConnectionPool(pool_name="mypool", pool_size=10, **dbconfig) except mysql.connector.Error as err: MyUtil.cnxpool = None if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: logger.info("用户名或密码不对") elif err.errno == errorcode.ER_BAD_DB_ERROR: logger.info("数据库不存在") else: logger.debug(err) raise Exception('Can\'t connect to MySQL server') return MyUtil.cnxpool.get_connection()执行sql
def store2DB(self, sql, values): ''' 保存需求到表中 @param sql: 需要执行的sql @param values: 元组类型,字段的值 @return: 执行结果, True or False ''' # get connection cnx = MyUtil.getConnection() # get cursor cursor = cnx.cursor() try: # execute sql cursor.execute(sql, values) res = True self.logger.info('add view success') except Exception, e: self.logger.debug(e) res = False else: # commit cnx.commit() # close resources cursor.close() MyUtil.closeConn(cnx) return res参考文章:mysql 连接池