node连接mysql数据库(含方法封装)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node连接mysql数据库(含方法封装)相关的知识,希望对你有一定的参考价值。

参考技术A -直连
-连接池

1.占位符的使用

举个栗子:
没有连接池的时候,船家只有一条船,这一条船不断地送人过河。
有连接池之后,船家(连接池)有10(最大连接数)条船,10条船可以同时送人过河。

1、封装连接池方法

使用

2、封装直接连的方法

使用

python连接mysql与方法的封装

 1 import pymysql
 2 
 3 class Model(object):
 4     def __init__(self, username=\'root\', password=\'123456\', database=\'demo\', 
 5                  port=3306, host=\'localhost\'):
 6         # 创建连接
 7         self.connection = pymysql.connect(user=username, password=password, database=database,
 8                                           port=port, host=host, cursorclass=pymysql.cursors.DictCursor)
 9         # 创建游标
10         self.cursor = self.connection.cursor()
11 
12     # 查询所有数据
13     def fetchall(self, sql):
14         try:
15             self.__execute(sql)
16             return self.cursor.fetchall()
17         except Exception as error:
18             print(error)
19 
20     # 查询多条数据
21     def fetchmany(self, sql, size=1):
22         try:
23             self.__execute(sql)
24             return self.cursor.fetchmany(size)
25         except Exception as error:
26             print(error)
27 
28     # 查询一条数据
29     def fetchone(self, sql):
30         try:
31             self.__execute(sql)
32             return self.cursor.fetchone()
33         except Exception as error:
34             print(error)
35 
36     # 增删改的方法
37     def change(self, sql):
38         try:
39             self.__execute(sql)
40             self.connection.commit()
41         except Exception as error:
42             print(error)
43 
44     # 执行的私有方法
45     def __execute(self, sql):
46         self.cursor.execute(sql)
47 
48     # 关闭连接和游标
49     def __del__(self):
50         self.connection.close()
51         self.cursor.close()
 1 from data_connect import model
 2 
 3 # 实例化Model类
 4 employee = model.Model()
 5 res = employee.fetchall(\'select nickname from employee where job="头领"\')[0]
 6 res1 = employee.fetchmany(\'select nickname from employee where job="头领"\', 2)
 7 res2 = employee.fetchone(\'select nickname from employee where name = "宋江"\')
 8 # print(res2)
 9 
10 # 插入一条语句
11 employee.change(\'insert into employee (name)values ("关羽")\')
12 # 删除一条语句
13 employee.change(\'delete from employee where name="关羽"\')
14 # 更新一条语句
15 # obj.change(\'update employee set name="张飞"where id=8004\')

 

 

以上是关于node连接mysql数据库(含方法封装)的主要内容,如果未能解决你的问题,请参考以下文章

封装在node里操作mysql数据库的方法

使用navicat连接mysq数据库

Zabbix之九---Zabbix监控mysq数据库

技术 | Node.js 连接 MySQL 的正确姿势

mysq解决sleep进程过多的办法

EF 连接 mysq l数据库 code first模式 的实践