File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212cur .execute ("select * from user" )
1313print (cur .fetchone ())
1414
15+
16+ class DBManage :
17+ def __init__ (self , db_info , db_name ) -> None :
18+ self .db_name = db_name
19+ self .info = db_info
20+ self .conn = None
21+ self .cursor = None
22+ self .connect ()
23+
24+ def connect (self ):
25+ try :
26+ db_user = self .info ['db_user' ]
27+ db_host = self .info ['db_host' ]
28+ db_port = int (self .info ['db_port' ])
29+ db_name = self .info ['db_name' ]
30+ db_pwd = self .info ['db_password' ]
31+
32+ self .conn = pymysql .connect (
33+ host = db_host ,
34+ user = db_user ,
35+ passwd = db_pwd ,
36+ database = db_name ,
37+ port = db_port )
38+ self .cursor = self .conn .cursor (pymysql .cursors .DictCursor )
39+ except Exception as e :
40+ raise e
41+
42+ def close (self ):
43+ self .cursor .close ()
44+ self .conn .close ()
45+
46+ def __enter__ (self ):
47+ return self
48+
49+ def __exit__ (self , exc_type , exc_val , exc_tb ):
50+ self .close ()
51+
52+ def exec_sql (self , sql ):
53+ """执行 SQL,以字典的方式获取执行结果
54+
55+ Args:
56+ sql (str): 原生 SQL 语句
57+
58+ Returns:
59+ list: 字典组成的执行结果列表,其中字典的 Key 为数据库表头,Value 为数据。
60+ """
61+ self .cursor .execute (sql )
62+ return self .cursor .fetchall ()
63+
You can’t perform that action at this time.
0 commit comments