多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 封装 * 观察前面的文件发现,除了sql语句及参数不同,其它语句都是一样的 * 创建MysqlHelper.py文件,定义类 ~~~ #encoding=utf8 import MySQLdb class MysqlHelper(): def __init__(self,host,port,db,user,passwd,charset='utf8'): self.host=host self.port=port self.db=db self.user=user self.passwd=passwd self.charset=charset def connect(self): self.conn=MySQLdb.connect(host=self.host,port=self.port,db=self.db,user=self.user,passwd=self.passwd,charset=self.charset) self.cursor=self.conn.cursor() def close(self): self.cursor.close() self.conn.close() def get_one(self,sql,params=()): result=None try: self.connect() self.cursor.execute(sql, params) result = self.cursor.fetchone() self.close() except Exception, e: print e.message return result def get_all(self,sql,params=()): list=() try: self.connect() self.cursor.execute(sql,params) list=self.cursor.fetchall() self.close() except Exception,e: print e.message return list def insert(self,sql,params=()): return self.__edit(sql,params) def update(self, sql, params=()): return self.__edit(sql, params) def delete(self, sql, params=()): return self.__edit(sql, params) def __edit(self,sql,params): count=0 try: self.connect() count=self.cursor.execute(sql,params) self.conn.commit() self.close() except Exception,e: print e.message return count ~~~ ## 添加 * 创建testInsertWrap.py文件,使用封装好的帮助类完成插入操作 ~~~ #encoding=utf8 from MysqlHelper import * sql='insert into students(sname,gender) values(%s,%s)' sname=raw_input("请输入用户名:") gender=raw_input("请输入性别,1为男,0为女") params=[sname,bool(gender)] mysqlHelper=MysqlHelper('localhost',3306,'test1','root','mysql') count=mysqlHelper.insert(sql,params) if count==1: print 'ok' else: print 'error' ~~~ ## 查询一个 * 创建testGetOneWrap.py文件,使用封装好的帮助类完成查询最新一行数据操作 ~~~ #encoding=utf8 from MysqlHelper import * sql='select sname,gender from students order by id desc' helper=MysqlHelper('localhost',3306,'test1','root','mysql') one=helper.get_one(sql) print one ~~~ ## python3代码: ~~~ #!/usr/bin/env python # -*- coding: utf-8 -*- ''' @Time : 5/15/18 12:16 AM @Author : haibo @File : MysqlHelper.py ''' from pymysql import * class MysqlHelper(object): def __init__(self, host, port, db, user, passwd, charset="utf8"): self.host = host self.port = port self.db = db self.user = user self.passwd = passwd self.charset = charset def open(self): self.conn = connect(host=self.host, port=self.port, db=self.db, user=self.user, passwd=self.passwd, charset=self.charset) self.cursor = self.conn.cursor() def close(self): self.cursor.close() self.conn.close() def cud(self, sql, params): try: self.open() self.cursor.execute(sql, params) self.conn.commit() self.close() except Exception as e: print(e.message) def all(self, sql, params=[]): try: self.open() self.cursor.execute(sql, params) result = self.cursor.fetchall() self.close() return result except Exception as e: print(e.message) def one(self, sql, params=[]): try: self.open() self.cursor.execute(sql, params) result = self.cursor.fetchone() self.close() return result except Exception as e: print(e.message) ~~~