Node.js 筆記(二)Sequelize (ORM Framework)
今天要跟大家介紹如何在Node.js
中使用ORM
,我們要介紹的是Sequelize
。
我們先來看一下Sequelize
在官網中是怎麼介紹自己的。
Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loading, read replication and more.
簡單翻譯一下就是,他支援多種關連式資料庫,具有事務支持…等相關功能。
補充說明:
ORM (Object Relational Mapping),是一種程式設計技術,用於實現物件導向程式語言裡不同類型系統的資料之間的轉換。
Quick Start
我們會延續上一篇Node.js 筆記(一)介紹與安裝,繼續我們的內容喔!
這次我分為下面幾個部分進行講解:
- 初始化作業
Sequelize
實作- 驗證
初始化作業
我們這邊先準備一個database
的資料,內容如下:
Sequelize
實作
使用
npm
安裝Sequelize
1
2
3
4
5$ npm install --save sequelize
+ sequelize@5.21.10
added 20 packages from 92 contributors and audited 140 packages in 5.414s
found 1 low severity vulnerability
run `npm audit fix` to fix them, or `npm audit` for details使用
npm
安裝mysql2
1
2
3
4
5$ npm install --save mysql2
+ mysql2@2.1.0
added 18 packages from 20 contributors and audited 158 packages in 1.364s
found 1 low severity vulnerability
run `npm audit fix` to fix them, or `npm audit` for details
這邊大家記得是在專案的資料夾下輸入指令喔!
- 確實安裝成功,大家可以在
package.json
的檔案中看到mysql2
與sequelize
建立
models
資料夾,新增兩個js
檔案,分別為db.js
與ADM_USER.js
這邊需要特別注意的是在
db.js
的連線資訊中,需要添加下面這段資訊。
不然會出現Sequelize Unknown column '*.createdAt' in 'field list'?
錯誤。1
2
3define: {
"timestamps": false
}在
user.js
增加一個新的controller
,撈取DB
並給前端NICK_NAME
欄位名稱。在
views
資料夾中,新增一個users.pug
檔案,顯示name
。
到這邊就完成了,接下來進入驗證。
驗證
http://localhost:3000/users/greddy
今天我們就到這邊吧!接下來還有許多問題等待解決,如:
models
是否有自動產生器?-
如果有問題,請再寄信給我喔!
Donate
謝謝您的支持與鼓勵