1. mysql 数据库连接配置类 dbconfig.py
"""
数据库连接配置类
"""
__author__ = "LT"
mysqldb_config = {
'host': '127.0.0.1',
'port': 3306,
'database': 'uitest',
'user': 'root',
'password': '123456',
'charset': 'utf8'
}
2. mysql 数据库连接池工具类 dbPoolUtils.py
"""
数据库连接池操作工具类
PooledDB这个用于多线程的,如果你的程序频繁地启动和关闭纯种,最好使用这个
PersistentDB这个用于单线程,如果你的程序只是在单个线程上进行频繁的数据库连接,最好使这个
使用前:安装
pip3 install pymysql 或者 pip install pymysql
pip3 install DBUtils 或者 pip install DBUtils
"""
__author__ = "LT"
import pymysql
from DBUtils.PooledDB import PooledDB, SharedDBConnection
from DBUtils.PersistentDB import PersistentDB, PersistentDBError, NotSupportedError
from dbconfig import mysqldb_config
config = mysqldb_config
def get_db_pool(is_mult_thread):
if is_mult_thread:
poolDB = PooledDB(
creator=pymysql,
maxconnections=3,
mincached=2,
maxcached=5,
maxshared=3,
blocking=True,
setsession=[],
ping=0,
**config
)
else:
poolDB = PersistentDB(
creator=pymysql,
maxusage=1000,
**config
)
return poolDB
if __name__ == '__main__':
db_pool = get_db_pool(False)
conn = db_pool.connection()
cursor = conn.cursor()
cursor.execute('select * from uicase')
result = cursor.fetchone()
print(result)
conn.close()
3. mysql 数据库操作封装通用工具类 dbUtils.py
"""
数据库操作封装通用工具类
"""
__author__ = "LT"
from dbPoolUtils import *
import pymysql
def create_conn():
db_pool = get_db_pool(False)
conn = db_pool.connection()
cursor = conn.cursor(pymysql.cursors.DictCursor)
return conn, cursor
def close_conn(conn, cursor):
conn.close()
cursor.close()
def select_one(sql, args):
conn, cur = create_conn()
cur.execute(sql, args)
result = cur.fetchone()
close_conn(conn, cur)
return result
def select_all(sql, args):
conn, cur = create_conn()
cur.execute(sql, args)
result = cur.fetchall()
close_conn(conn, cur)
return result
def insert_one(sql, args):
conn, cur = create_conn()
result = cur.execute(sql, args)
conn.commit()
close_conn(conn, cur)
return result
def insert_one_pk(sql, args):
conn, cur = create_conn()
result = cur.execute(sql, args)
conn.commit()
close_conn(conn, cur)
return cur.lastrowid
def delete_one(sql,args):
conn,cur = create_conn()
result = cur.execute(sql,args)
conn.commit()
close_conn(conn,cur)
return result
def update_one(sql,args):
conn,cur = create_conn()
result = cur.execute(sql,args)
conn.commit()
close_conn(conn,cur)
return result
if __name__ == '__main__':