当前位置: 首页 > news >正文

网站开发技术课程设计说明书销售成功案例分享

网站开发技术课程设计说明书,销售成功案例分享,自己做响应式网站难吗,怎么买域名做企业网站操作数据库封装SQL工具类的两种方式 为了更方便的实现基于连接池和pymysql 连接数据库,需开发一个sql工具类来让sql操作更简洁用两张方式来封装SQL工具类 1 )单例模式 封装 db.py 工具类 import pymysql from dbutils.pooled_db import PooledDBclas…

操作数据库封装SQL工具类的两种方式

  • 为了更方便的实现基于连接池和pymysql 连接数据库,需开发一个sql工具类来让sql操作更简洁
  • 用两张方式来封装SQL工具类

1 )单例模式

封装 db.py 工具类

import pymysql
from dbutils.pooled_db import PooledDBclass DBHelper(object):def __init__(self):self.pool = PooledDB(creator=pymysql,maxconnections=5,mincached=2,maxcached=3,blocking=True,setsession=[],ping=0,host='127.0.0.1',port=3306user='root',password='xxxxx',database='userdb',charset='utf8')def get_conn_cursor(self):conn = self.pool.connection()cursor=conn.cursor(pyymsql.cursors.DictCursor)return conn, cursordef close_conn_cursor(self, *args):for item in args:item.close()def exec(self, sql, **kwargs):conn, cursor = self.get_conn_cursor()cursor.execute(sql, kwargs)conn.commit()self.close_conn_cursor(conn, cursor)def fetch_one(self, sql, **kwargs):conn, cursor = self.get_conn_cursor()cursor.execute(sql, kwargs)result = cursor.fetchone()self.cloes_conn_cursor(conn, cursor)return resultdef fetch_all(self, sql, **kwarrgs):conn, cursor = self.get_conn_cursor()cursor.execute(sql, kwargs)result = cursor.fetchall()self.close_conn_cursor(conn, cursor)db = DBHelper()

xxx.py 调用示例

from db import dbv1 = db.fetch_one("select * from d1")
print(v1)v2 = db.fetch_one('select * from d1 where id=%(nid)s ', nid=3)
print(v2)

2 ) 上下文管理

基于 with 上下文管理

with 获取连接:执行sql (执行完毕后,自动将连接交还给连接池)

封装 db_context.py

import threading
import pymysql
from dbutils.pooled_db import PooledDBPOOL = PooledDB(creator=pymysql, # 使用连接数据库的模块maxconnections=5,mincached=2,maxcached=3,blocking=True,setssion=[],ping=0,host='127.0.0.1'port=3306,user='root',password='xxxx',database='userdb',charset='utf8'
)class Connect(object):def __init__(self):self.conn = conn = POOL.connection() # 连接self.cursor = conn.cursor(pymysql.cursors.DictCursor) # 游标def __enter__(self):return selfdef __exit__(self, exc_type, exc_val, exc_tb):self.cursor.close()self.conn.close()def exec(self, sql, **kwargs):self.cursor.execute(sql, kwargs)self.conn.commit()def fetch_one(self, sql, **kwargs):self.cursor.execute(sql, kwargs)result = self.cursor.fetchone()return resultdef fetch_all(self, sql, **kwargs):self.cursor.excute(sql, kwargs)result = self.cursor.fetchall()return result

yyy.py 调用示例

from db_context import Connect### 实例化 对象得到值
with Connect() as obj:ret = obj.fetch_one('select * from d1')print(ret)ret = obj.fetch_one("select * from d1 where id=%(id)s", id=3)print(ret)
http://www.ds6.com.cn/news/24363.html

相关文章:

  • web网站开发基础jar淘宝运营
  • 做网站为什么要买服务器seo建站教学
  • 青岛做网站的有哪些网站优化推广公司
  • 做网站莱芜山西网络营销seo
  • 做门图网站网上做广告怎么收费
  • 做明星简介网站侵权吗app推广30元一单
  • 网站的测试方法肇庆网站快速排名优化
  • 襄阳建设路21号创意园网站品牌营销策略分析论文
  • wordpress 5.1seo运营工作内容
  • 免费做logo设计的网站重庆森林为什么不能看
  • 建立网站 优帮云seo网站优化软件
  • java做的网站怎么设置关闭和开启网站访问不了怎么办云南网络营销公司
  • 重庆营销型网站设计怎么注册网站免费的
  • 跨境电商一般卖哪些产品百度搜索关键词排名优化推广
  • 网站 河北 备案 慢百度官方网站网址
  • 网站该如何做营销型网站建设企业
  • 做网站需要看什么书怎么打广告吸引客户
  • 网站备案的意义刷seo关键词排名软件
  • 哪些网站可以做问卷调查百度推广一年大概多少钱
  • 沂水住房与城乡建设局网站济南百度开户电话
  • wordpress网站前台打开慢百度app最新版本
  • 联想粒子云可以做网站轻松seo优化排名
  • 浙江网站建设哪家最好网推拉新app推广平台
  • 郑州网站建设招聘企业管理培训视频免费
  • 网站首页的名字通常是爱站网关键词密度查询
  • 如何建设一个国外网站广州番禺最新发布
  • 山西 网站制作武汉网站设计十年乐云seo
  • 襄州区住房和城乡建设局网站谷歌搜索引擎免费入口 台湾
  • 衡阳市党政门户网站今日最新消息
  • 做网站公司郑州郑州的网站建设公司排名常见的网络营销手段