mysql驱动程序
什么是驱动程序
- 是连接内存和其他存储介质的桥梁
- mysql驱动程序是连接内存数据和mysql数据的桥梁
- mysql驱动程序通常使用:mysql、mysql2(/mysql-native优化做的更好, 且支持async)
mysql2的使用
https://github.com/sidorares/node-mysql2#readmenpm i mysql2
# 然后写node代码就行了
防止sql注入
sql注入:用户通过注入sql语句到最终查询中,导致了整个sql与预期行为不符
mysql支持变量:变量的内容不作为任何sql关键字(使用预编译了)const sql = `select * from employee where id=? or name=?`;
await connection.execute(sql, [id, name]);
使用连接池
const pool = mysql2.createPoo({xxxx: ....});
Sequelize简介
ORM
Object Relational Mapping 对象关系映射
通过ORM框架,可以自动的把程序中的对象和数据库关联
ORM框架会隐藏具体的数据库底层细节,让开发者使用同样的数据操作接口,完成对不同数据库的操作
见源码中的「ORM原理图」ORM的优势
开发者不用关心数据库,仅需关心对象
可轻易的完成数据库的移植
无须拼接复杂的sql语句即可完成精确查询Node中的ORM
Sequelize框架:支持js和ts,成熟;(我们后续就用这个)
TypeORM框架:支持TS,不成熟模型定义和同步
https://github.com/demopark/sequelize-docs-Zh-CNnpm i sequelize mysql2