mysqlモジュールを利用してMySQLに接続します。
本記事ではExpressを利用しています。「app.js」「index.ejs」ファイルの作成については下記の関連ページをご参照下さい。
関連ページ
mysqlモジュールを利用します。
1 |
npm install --save mysql |
package.jsonのdependenciesの項目にmysqlが追加されます。
1 2 3 4 5 |
"dependencies": { "ejs": "^2.6.1", "express": "^4.16.4", "mysql": "^2.16.0" } |
今回作成するアプリはMySQLと接続し下記のようなデータを表示させます。
MySQLは各自準備して下さい。本記事では説明しておりませんが、筆者はDockerでローカルに構築しました。Dockerをインストールすれば下記コマンドのように簡単にMySQLを構築することができます。MySQLのバージョンは5.7を利用し、パスワードはmysqlに設定しています。
1 |
docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql:5.7 |
また構築したデータベースおよびテーブルは下記の関連ページをご覧下さい。sample01データベースを構築し、nameテーブルを用意しています。
MySQLにつないでデータを追加する[INSERT][mysqli]
app.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
const express = require('express') const ejs = require('ejs') const mysql = require('mysql') const app = express() app.set('ejs', ejs.renderFile) const mysql_setting = { host: '127.0.0.1', user: 'root', password: 'mysql', database: 'sample01' } app.get('/', (req, res) => { const connection = mysql.createConnection(mysql_setting) connection.connect(); connection.query('select * from name', function (error, results, fields) { if (error) throw error res.render('index.ejs', { content: results }) }); connection.end(); }) app.listen(3000, () => { console.log('start') }) |
index.ejs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <table> <% for(let i in content) { %> <tr> <% let obj = content[i]; %> <th> <%= obj.id %> </th> <th> <%= obj.name %> </th> </tr> <% } %> </table> </body> </html> |
参照ページ