Cara menggunakan express js mysql crud

Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar bagaimana cara membuat sebuah CRUD menggunakan Node.js dengan framework Express dan database MySQL.

Node.js adalah perangkat lunak yang bersifat open source dan digunakan untuk menjalankan kode JavaScript diluar web browser, Node.js sama seperti PHP, Ruby, Python dan Go, yaitu berjalan disisi server. Node.js secara default sudah memiliki HTTP server sendiri, jadi bisa berjalan tanpa harus menginstall web server tambahan seperti Apache dan Nginx.

Express Js adalah salah satu framework Node.js yang paling populer dan banyak digunakan oleh para developer, karena memiliki ukuran yang minimalis dan performa yang sangat cepat . Express bersifat open source dan mudah untuk di pelajari.

Langkah 1 - Install Node.js

Pertama, silahkan untuk melakukan installasi Node.js di dalam komputer teman-teman semuanya, untuk installasi Node.js silahkan bisa mengikuti dari situs resiminya di : https://nodejs.org/en/download/.

Untuk mengetahui apakah komputer kita sudah terinstall Node.js, kita bisa menjalankan perintah berikut ini di dalam terminal/CMD :

node -v
npm -v

Jika berhasil, maka akan keluar versi Node.js dan NPM yang di install.

Langkah 2 - Install Express

Setelah kita berhasil menginstall Node.js, sekarang kita lanjutkan untuk menginstall Express di dalam komputer kita secara global.

Silahkan jalankan perintah berikut ini :

npm install -g express-generator

Silahkan di tunggu proses installasi sampai selesai dan pastikan terhubung dengan internet.

Langkah 3 - Membuat Project Dengan Express

Setelah kita berhasil menginstall Express di dalam komputer, sekarang kita bisa membuat project baru dengan Express. Silahkan masuk ke dalam folder dimana teman-teman akan menyimpan project dan jalankan perintah berikut ini di dalam terminal/CMD :

express --view=ejs express-mysql

Di atas, kita akan membuat project Express baru dengan nama express-mysql dan kita tambahkan flag --view=ejs untuk digunakan sebagai view/template engine di dalam Express.

Cara menggunakan express js mysql crud

Langkah 4 - Menjalankan Project Express

Setelah proses installasi project baru dengan Express selesai, sekarang kita akan belajar bagaimana cara menjalankan project tersebut. Silahkan jalankan perintah di bawah ini :

cd express-mysql
npm install
npm start

Jika berhasil, maka project kita akan di jalankan di dalam localhost dengan port 3000, kita bisa mencoba membukanya di http://localhost:3000, kurang lebih hasilnya seperti berikut ini :

Cara menggunakan express js mysql crud

Di atas, kita telah berhasil menjalankan project Express di dalam localhost dengan port 3000, di artikel selanjutnya kita akan belajar bagaiaman cara membuat koneksi database dari Express ke MySQL.

Terima Kasih


EBOOK Toko Online Dengan Laravel, Vue Js dan Payment Gateway : https://bit.ly/lp-ebook-laravel-vue-payment-gateway


Artikel ini dibaca sebanyak 5.580 kali

Membuat REST API dengan Express JS + MySQL di NodeJS - Halo semua, pada artikel kali ini kita akan belajar tutorial membuat REST API dengan menggunakan Express JS dan database MySQL. REST API bisa dibilang simplenya, sebuah server yang akan mengirimkan hasil berupa response JSON.

Pada artikel kali ini kita akan membuat sebuah rest api dari express js dengan menggunakan pattern controller dan route. Sebelum masuk ke tutorialnya, kita perlu menyiapkan design endpoint dari rest api kita. Di kesempatan kali ini, kita akan mencoba membuat sebuah rest api dengan database sekolah dan table siswa. Tentu saja fungsinya adalah CRUD ( Create - Read - Update - Delete ) siswa di database tersebut.

Di tutorial membuat rest api dengan express js ini, kita akan membuat design endpoint seperti berikut

GET /siswa

POST /siswa

PUT /siswa/:id

DELETE /siswa/:id

Yang mana GET merupakan method untuk mendapatkan list collection dari siswa, POST adalah method untuk mengirimkan data / menambah data, PUT adalah method untuk mengupdate data, dan DELETE adalah HTTP method untuk menghapus data.

Ya, sampai sini kita sudah berhasil menyiapkan design endpoint dari aplikasi rest api yang akan kita buat.

Cara menggunakan express js mysql crud

Menyiapkan Database

Kita akan membuat rest api dengan database sekolah. Maka kita buat database bernama db_school dan table bernama t_students dengan struktur tabel seperti berikut :

Cara menggunakan express js mysql crud


Instalasi Express JS dan Mysql

Setelah kita berhasil menyiapkan design endpointnya, saatnya kita menyiapkan environment dari aplikasi yang akan kita buat.

Pertama, buatlah sebuah folder baru, kalian bisa beri nama siswajs.

Kemudian buka di VSCode atau arahkan terminal ke folder tersebut, kemudian jalankan perintah 

npm init

Kemudian kalian bisa enter-enter saja, sampai terbuat satu file baru bernama package.json

Berisikan seperti ini,

{

"name": "siswajs",

"version": "1.0.0",

"description": "",

"main": "index.js",

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1"

},

"author": "",

"license": "ISC"

}


Sampai sini kalian sudah berhasil menginstal npm di folder kalian.

Selanjutnya mari lanjut menginstall express js dan mysql ke dalam aplikasi nya.

npm install express --save

Untuk menginstall express js,

npm install cors body-parser mysql --save 

Untuk menginstall mysql dan middleware.

Sampai sini kalian sudah berhasil menginstall module node yang kita perlukan di tutorial membuat rest api dengan express js + mysql ini.

Menyiapkan Susunan Folder

Setelah itu, kita perlu menyiapkan beberapa susunan folder seperti config, controller dan route di aplikasi kita.

Buatlah folder-folder di atas dan juga siapkan 1 file bernama index.js. Seperti di bawah ini :

Cara menggunakan express js mysql crud

Membuat File Koneksi

Silahkan kalian buat satu file baru bernama connection.js di folder config. File ini berfungsi untuk menampung class connection mysql yang nanti akan kita export ke modul / file js lainnya.

const mysql = require('mysql')

const connection = mysql.createConnection({

host: 'localhost',

user: 'root',

password: '',

database: 'db_school'

})

module.exports = connection

Sesuaikan konfigurasinya dengan konfig database kalian jika berbeda.

module.exports merupakan baris command pada common js untuk mengexport sebuah variabel di suatu file. Nantinya file ini akan bersifat sebagai modul dan variabel tersebut bisa diimport dari file lain.

Membuat Controller

Siapkan dan buatlah sebuah file baru bernama siswaController.js di folder controller. Nantinya file ini akan bertindak sebagai core transaksi data dari aplikasi kita.

Isilah dengan kode berikut, dan jangan lupa untuk mengimport connection.

const connection = require("../config/connection");

exports.getUsers = async (reqres=> {

let data = [];

try {

let sql = "select * from t_students";

const exec = connection.query(sql, function (errrowsfields) {

if (errthrow err;

res.json({

status: true,

data: rows,

msg: "Hello",

});

});

catch (error) {

return res.json({

status: false,

msg: error.message,

});

}

};

exports.insertUser = async (reqres=> {

try {

const body = req.body;

let name = body.name;

let age = body.age;

let gender = body.gender;

let sql = `insert into t_students(name,age,gender) values (?, ?, ?) `;

let values = [name, age, gender];

catch (error) {

return res.json({

status: false,

msg: error.message,

});

}

};

exports.updateUser = async (reqres=> {

try {

const id = req.params.id;

const body = req.body;

let name = body.name;

let age = body.age;

let gender = body.gender;

let sql = `update t_students set name=?, age=?, gender=? where id=? `;

let values = [name, age, gender, id];

connection.query(sql, values, function (errrowsfields) {

if (errthrow err;

if (rows.affectedRows > 0) {

msg = "Successfully Update";

else {

msg = "No entry was updated";

}

res.json({

status: true,

msg: msg,

});

});

catch (error) {

return res.json({

status: false,

msg: error.message,

});

}

};

exports.deleteUser = async (reqres=> {

try {

const id = req.params.id;

let sql = ` delete from t_students where id = ${id} `;

connection.query(sql, function (errrowsfields) {

if (errthrow err;

let msg = "";

if (rows.affectedRows > 0) {

msg = "Successfully Delete";

else {

msg = "No entry was deleted";

}

res.json({

status: true,

msg: msg,

});

});

catch (error) {

res.json({

status: true,

msg: error.message,

});

}

};

Membuat File Router

Setelah membuat controller dan config nya, kita lanjut membuat router nya atau file yang akan mengarahkan ke fungsi mana sebuah request yang masuk.

Buat file baru bernama siswaRouter.js di folder router,

const express = require('express')

const siswaController = require('../controller/siswaController')

const router = express.Router()

router.get('/', siswaController.getUsers)

router.post('/', siswaController.insertUser)

router.put('/:id', siswaController.updateUser)

router.delete('/:id', siswaController.deleteUser)

module.exports = router

Menyiapkan File Core Index.js

Index.js merupakan file core yang bertindak sebagai file paling depan di aplikasi kita.

const express = require('express')

const cors = require('cors')

const siswaRoute = require('./route/siswaRouter')

const app = express()

const port = 3000

// middleware 

app.use(cors());

app.use(express.json());

app.use('/siswa'siswaRoute)

app.listen(port, ()=>{

console.log(`Listening on port ${port}`);

})

Sampai sini kita sudah berhasil membuat rest api express js dan mysqlnya, lanjut kita akan mencoba nya.

Jalankan aplikasi kita dengan memasukkan perintah

node index.js

di terminal

Pengujian Postman

Tidak afdol jika kita tidak melakukan pengujian terhadap rest api yang kita buat barusan. Buka POSTMAN kalian untuk melakukan pengujian rest api kita.

Method GET / Ambil Data

Cara menggunakan express js mysql crud

Method POST / Tambah Data

Cara menggunakan express js mysql crud

Method PUT / Update Data

Cara menggunakan express js mysql crud

Method DELETE / Hapus Data

Cara menggunakan express js mysql crud

Yaaaa, selamat sampai sini kita sudah berhasil Membuat REST API dengan Express JS + MySQL di Node di tahun 2021. Semoga tutorial kali ini bermanfaat untuk kita semua. Senang bisa membantu, Terima kasih sampai jumpa di artikel selanjutnya :)