鐵人賽已經過一半了~ 大家加油不要放棄!
今天會來介紹一下 Express 框架的 ORM - Sequelize,我們就繼續看下去吧~ !
首先,先來介紹一下 Sequelize。
依照 Sequelize 的官網描述:
Sequelize is a modern TypeScript and Node.js ORM for Oracle, Postgres, MySQL, MariaDB, SQLite and SQL Server, and more. Featuring solid transaction support, relations, eager and lazy loading, read replication and more.
我們昨天提到,ORM 支援使用多種數據庫,使用 Sequelize 的話,可以支持連接 Oracle、Postgres、MySQL、MariaDB、SQLite 和 SQL Server 等數據庫,還提供提供穩固的事務支持、關聯、延遲加載、讀取複製等功能。
安裝 Sequelize
首先打開我們的 ironman
專案,在終端機下 npm install sequelize
完成我們套件的安裝。
連接資料庫
再來先建立一個 models 的資料夾,建立 sequelize 的 Model 模型。
建立 index.js
來引入 sequelize 套件,並使用物件導向概念來連線資料庫
const { Sequelize } = require('sequelize')
const sequelize = new Sequelize('${database}', '${username}', '${password}', {
host: 'localhost',
dialect: /* one of 'mysql' | 'postgres' | 'sqlite' | 'mariadb' | 'mssql' | 'db2' | 'snowflake' | 'oracle' */
})
使用我們先前連線 MySQL 的連線帳號密碼的話,就是
// models\index.js
const { Sequelize } = require('sequelize')
const sequelize = new Sequelize('book', 'root', '${password}', {
host: 'localhost',
dialect: 'mysql'
})
測試連線
Sequelize 有提供一個 .authenticate()
函式可以測試連線是否成功。
所以可以在原本連線的檔案底下加上測試的 function。
// models\index.js
async function testConnection() {
try {
await sequelize.authenticate();
console.log('Connection has been established successfully.');
} catch (error) {
console.error('Unable to connect to the database:', error);
}
}
testConnection()
在終端機下 cd models 指令,將位置移到 models 資料夾。
下 node index.js 指令,來確認測試的連線是否成功。
如果成功的話會印出我們 console.log
寫的 Connection has been established successfully.
。就表示我們連線成功啦~
以上就完成的初步的連線,明天我們繼續吧!大家掰掰~
參考資料: