KẾT NỐI VỚI MYSQL – NODEJS – 05

https://landolatui.wordpress.com/2016/06/06/ket-noi-voi-mysql-nodejs-05/

KẾT NỐI VỚI MYSQL – NODEJS – 05

June 6, 2016

Bài viết này mình sẽ chia sẻ với các bạn cách kết nối server nodejs với database. Thông thường chúng ta thường nghe đến cặp đôi Nodejs & MongoDB. Nhưng trong bài viết này, mình chọn cơ sở dữ liệu là Mysql quen thuộc của chúng ta. Và mình sẽ chia sẻ cách viết đơn giản nhất.

Chúng ta bắt đầu nhé.

Bước 1: Tạo Database với Mysql

Mình dùng xampp để tạo một database với tên là `test_db`. Rồi mình tạo 2 table đơn giản là `m_user` và `m_role`. Các bạn xem hình minh họa cấu trúc bảng bên dưới nhé.

Và mình có dữ liệu trong 2 bảng `m_user` & `m_role` như sau:

Bước 2: Tạo Server lắng nghe request với Express framework

Về Express framework thì mình đã chia sẻ ở bài viết trước. Nếu bạn nào chưa biết thì tham khảo EXPRESS.JS – NODEJS – 04 nhé.

Bây giờ mình sẽ tạo một file server.js, và đặt trong thư mục demo tên là mysql_demo trong ổ C (C:/mysql_demo/server.js)

Tải module Express về nhé. Với thao tác quen thuộc, mở Command Prompt, di chuyển vào thư mục mysql_demo và chạy lệnh:cd C:\mysql_demo npm install express

Tiếp theo mình sẽ viết vài dòng code để định nghĩa một server có thể lắng nghe request từ client trong file server.js.

server.jsvar express = require(“express”); var app = express(); app.get(“/user”, function(req, res){

res.send(“Hello!!!”);

}); app.listen(“2244”,“127.0.0.1”); console.log(“—– server is listening —–“);

Chạy thử xem server của chúng ta đã hoạt động chưa nhé.

server request

Như vậy server đã hoạt động ok rồi nhé. Tiếp theo, mở trình duyệt lên, gõ http://localhost:2244/user

Ta thấy trình duyệt phản hồi lại như hình bên dưới:

server request

Ok, như vậy server đã hoạt động tốt. Mình qua bước tiếp theo là kết nối với Mysql

Bước 3: Kết nối với Mysql

Ở bước này, trước tiên các bạn cần tải gói mysql về. Mình sử dụng gói mysql với phiên bản 2.10.2cd C:\mysql_demo npm install mysql@2.10.2

Rồi, mở file server.js lên, và viết thêm vài dòng code để kết nối với database nhé.

server.jsvar express = require(“express”); var mysql = require(“mysql”); // include thêm module mysql var app = express(); // Tạo kết nối với Database var pool = mysql.createPool({ host: “localhost”, user: “root”, password: null, database: “test_db”, }); app.get(“/user”, function(req, res){

// Viết câu truy vấn sql var sql = “SELECT * FROM `m_user`”;// Thực hiện câu truy vấn và show dữ liệu pool.query(sql, function(error, result){ if (error) throw error; console.log(“– USER TABLE — “ , result); res.json(result); // Trả kết quả về cho client dưới dạng json });

}); app.listen(“2244”,“127.0.0.1”); console.log(“—– server is listening —–“);

Rồi, bây giờ mình sẽ restart server bằng cách chạy lại lệnh node server.js

Sau đó mình sẽ refresh lại trình duyệt.

Kết quả hiện trong Command Prompt:

Kết quả hiện trên trình duyệt:

Như vậy là mình đã thành công trong việc kết nối với cơ sở dữ liệu là Mysql và lấy được dữ liệu ra.

Để lấy dữ liệu của từng record, các bạn chỉ việc gọi phần tử thứ i mà bạn muốn lấy của mảng result. Mình ví dụ:console.log(result[0].email); // nguyen001@gmail.com

Như vậy là xong phần demo kết nối Nodejs với Mysql. Chúc các bạn thành công.

Share this:

Last updated

Navigation

Lionel

@Copyright 2023