Node使用MySQL
一、認識mysql2
如何可以在Node的代碼中執行SQL語句來,這里我們可以借助于兩個庫:
- 更快/更好的性能;
- Prepared Statement(預編譯語句):
提高性能:將創建的語句模塊發送給MySQL,然后MySQL編譯(解析、優化、轉換)語句模塊,并且存儲它但是不執行,之后我們在真正執行時會給?提供實際的參數才會執行;就算多次執行,也只會編譯一次,所以性能是更高的;
防止SQL注入:之后傳入的值不會像模塊引擎那樣就編譯,那么一些SQL注入的內容不會被執行;or 1 = 1不會被執行;
- 支持Promise,所以我們可以使用async和await語法
所以后續的學習中會選擇mysql2在node中操作數據。
二、使用mysql2
第一步:創建連接(通過createConnection),并且獲取連接對象;
第二步:執行SQL語句即可(通過query);
三、Prepared Statement
Prepared Statement(預編譯語句):
它但是不執行,之后我們在真正執行時會給?提供實際的參數才會執行;就算多次執行,也只會編譯一次,所
以性能是更高的;
會被執行;
強調:如果再次執行該語句,它將會從LRU(Least Recently Used) Cache中獲取獲取,省略了編譯statement的時間來提高性能。
四、Connection Pools
前面我們是創建了一個連接(connection),但是如果我們有多個請求的話,該連接很有可能正在被占用,那么我們是否需要每次一個請求都去創建一個新的連接呢?
五、Promise方式
目前在JavaScript開發中我們更習慣Promise和await、async的方式,mysql2同樣是支持的:
六、認識ORM
對象關系映射(英語:Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序設計的方案:
- 從效果上來講,它提供了一個可在編程語言中,使用 虛擬對象數據庫 的效果;
- 比如在Java開發中經常使用的ORM包括:Hibernate、MyBatis;
Node當中的ORM我們通常使用的是 sequelize;
- Sequelize是用于Postgres,MySQL,MariaDB,SQLite和Microsoft SQL Server的基于Node.js 的 ORM;
- 它支持非常多的功能;
如果我們希望將Sequelize和MySQL一起使用,那么我們需要先安裝兩個東西:
- mysql2:sequelize在操作mysql時使用的是mysql2;
- sequelize:使用它來讓對象映射到表中;
npm install sequelize mysql2
七、Sequelize的使用
Sequelize的連接數據庫:
八、Sequelize映射關系表
九、Sequelize 一對多關系
十、Sequelize多對多關系
總結
以上是生活随笔為你收集整理的Node使用MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bootstrap table 分页_J
- 下一篇: JS高级——深入剖析函数中的this指向