Dalam Tutorial Node JS ini, kita sudah mulai mempelajari cara melakukan operasi Buat, Baca, Perbarui, dan Hapus CRUD di Node js dengan Database MySQL menggunakan modul Express JS Node. Jika Anda seorang pemula di Node JS, maka pertama-tama Anda perlu mempelajari Cara melakukan operasi CRUD database di Node JS
Kami akan menggunakan database MySQL dengan Node JS untuk melakukan operasi Insert Update Delete Read. Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah demi langkah bagaimana melakukan operasi CRUD di Node JS dengan database MySQL menggunakan modul Node Express. Tutorial node js ini membantu mempelajari cara membuat daftar tabel, menambahkan record, mengedit record, dan menghapus record dari database MySQL
Langkah 1. Buat Aplikasi Node Express js
Jalankan perintah berikut di terminal untuk membuat aplikasi node js
mkdir my-app
cd my-app
npm init -y
Langkah 2. Buat Tabel di Database MySQL
Jalankan kueri SQL berikut untuk membuat tabel di database Anda
CREATE TABLE `contacts` (
`id` int(11) NOT NULL,
`f_name` varchar(100) NOT NULL,
`l_name` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
`message` text NOT NULL,
`created_at` timestamp NOT NULL DEFAULT current_timestamp()
)
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
_Langkah 3. Instal modul mysql express flash ejs body-parser
Jalankan perintah berikut di terminal untuk mengekspresikan dependensi MySQL flash ejs body-parser
npm install -g express-generator
npx express --view=ejs
npm install
npm install express-flash --save
npm install express-session --save
npm install body-parser --save
npm install mysql --save
body-parser – Node. js request body parsing middleware yang mem-parsing badan permintaan yang masuk sebelum penangan Anda, dan membuatnya tersedia di bawah req. properti tubuh. Dengan kata lain, ini menyederhanakan permintaan yang masuk
Express-Flash – Pesan Flash untuk Aplikasi Express Anda. Flash adalah ekstensi dari connect-flash dengan kemampuan untuk menentukan pesan flash dan merendernya tanpa mengalihkan permintaan
Express-Session – Express-session – kerangka sisi server HTTP yang digunakan untuk membuat dan mengelola middleware sesi
Express-EJS – EJS adalah bahasa template sederhana yang digunakan untuk menghasilkan markup HTML dengan JavaScript biasa. Ini juga membantu menyematkan JavaScript ke halaman HTML
Mysql – sistem manajemen basis data relasional sumber terbuka (RDBMS)
Langkah 4. Buat Formulir Markup HTML
Buat formulir html untuk memasukkan data ke dalam basis data; . ejs di dalamnya. Kemudian tambahkan kode berikut ke dalamnya
How to Insert Form Data From MySQL Database Using Node js Express? - Nicesnippets.com
<% if (messages.success) { %>
<%- messages.success %>
<% } %>
How to Insert Form Data From MySQL Database Using Node js Express? - Nicesnippets.com
First Name
Last Name
Email address
Message
Submit
Langkah 5. Buat Server. js dan File Koneksi Database
Buat server. js dan mengimpor dependensi tubuh-parser sesi flash ekspres MySQL di server. js;
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var bodyParser = require('body-parser');
var flash = require('express-flash');
var session = require('express-session');
var db=require('./database');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(session({
secret: '123456catr',
resave: false,
saveUninitialized: true,
cookie: { maxAge: 60000 }
}))
app.use(flash());
/* GET home page. */
app.get('/', function(req, res, next) {
res.render('contact-us', { title: 'Contact-Us' });
});
app.post('/contact-us', function(req, res, next) {
var f_name = req.body.f_name;
var l_name = req.body.l_name;
var email = req.body.email;
var message = req.body.message;
var sql = `INSERT INTO contacts (f_name, l_name, email, message, created_at) VALUES ("${f_name}", "${l_name}", "${email}", "${message}", NOW())`;
db.query(sql, function(err, result) {
if (err) throw err;
console.log('record inserted');
req.flash('success', 'Data added successfully!');
res.redirect('/');
});
});
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
// port must be set to 3000 because incoming http requests are routed from port 80 to port 8080
app.listen(3000, function () {
console.log('Node app is running on port 3000');
});
module.exports = app;
_Perhatikan bahwa; . js akan menampilkan formulir dan menyimpan data formulir ke dalam database MySQL dan aplikasi node js express