Cara menggunakan mysql express
Sebelumnya, kita sudah bisa membuat web server yang dapat melakukan manipulasi data, dan menerima data dari body. Namun data tersebut hanya disimpan ke variable. Masalahnya, apabila server direstart, maka data yang disimpan pada variable tersebut akan hilang, karena variable disimpan pada memory sementara (RAM). Show
2. SolusiAgar data yang disimpan permanen, dan tidak hilang saat server direstart, maka data tersebut harus disimpan ke dalam suatu file. File disini bisa berupa file text, atau pada kasus ini lebih cocok menggunakan database seperti MySQL. 3. Mengkoneksikan Express ke Database MySQL3.1 Pembuatan Database dan Tabel MySQLSebelum memulai, pastikan sudah terdapat sebuah database dan tabel untuk menampung data dari server kita. Jika belum, ketikkan kode berikut pada terminal MySQL ataupun jendela query phpMyAdmin. CREATE DATABASE `expressmysql`; USE `expressmysql`; CREATE TABLE `contacts` ( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(80), `phone` varchar(15) ); INSERT INTO `contacts`(`name`,`phone`) VALUES ("Rhoma", "081356789876"), ("Ani", "081356789877"); Sebuah database baru dengan tabel npm install express mysql5 akan terbuat dan terisi oleh 2 data. 3.2 Install Package Express dan MySQL pada ProjectSetelah membuat database, kembali ke project dan install package npm install express mysql6 dan npm install express mysql7, agar server bisa terkoneksi dengan database MySQL yang sudah kita buat. Untuk menginstall package ini, cukup buka terminal pada lokasi project dan ketikkan npm install express mysql Perhatikan pada command terminal diatas, kita bisa langsung menginstall beberapa package dari npm. Dengan cara memisahkan nama package dengan spasi npm install package1 package2 package3 . . . Lalu kita cek pada file npm install express mysql8 untuk melihat package yang telah kita install. Apabila proses install package sukses, bagian npm install express mysql9 dari npm install express mysql8 akan terlihat seperti ini "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" } 3.2 Koneksi dari Express ke MySQLPackage sudah kita install, sekarang saatnya menyambungkan aplikasi Express kita dengan database MySQL. 3.2.1 Import Package MySQLPertama kita import package npm install express mysql7 agar bisa digunakan const mysql = require("mysql"); 3.2.2 Membuat KoneksiKedua, buat sebuah variabel yang akan menampung lokasi koneksi database kita dengan fungsi npm install package1 package2 package3 . . .2 // membuat variable con untuk menampung data koneksi ke MySQL const con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "expressmysql" }); Lalu sambungkan koneksi tersebut dengan menggunakan fungsi npm install package1 package2 package3 . . .3 // menyambungkan variable con dengan MySQL con.connect(function(err) { if (err) throw err; console.log("-> Database Connected"); }); Dan bisa langsung kita coba dengan menjalankan aplikasi Express kita -> Server running on :3000 -> Database Connected 3.3 Menjalankan Query MySQL pada ExpressKoneksi sudah siap, kita lanjut untuk menjalankan query pada Express. Query MySQL dapat dijalankan dengan menggunakan fungsi npm install package1 package2 package3 . . .4 // Eksekusi query SELECT degan koneksi dari variable con con.query("SELECT * FROM contacts", function(err, rows) { if (err) throw err; console.log(rows); }); Karena kita juga menggunakan npm install package1 package2 package3 . . .5, hasil dari query bisa kita lihat pada terminal -> Server running on :3000 -> Database Connected [ RowDataPacket { id: 1, name: 'Rhoma', phone: '081356789876' }, RowDataPacket { id: 2, name: 'Ani', phone: '081356789877' } ] 4. Aplikasi CRUD dengan ExpressSetelah mengetahui cara mengkoneksikan database diatas, kita coba untuk membuat sebuah webservice yang bisa melakukan operasi Create, Read, Update, Delete. Sebenarnya kita sudah mengimplementasikan proses Read Data pada contoh diatas. Tetapi, kita belum membuat endpoint untuk mengakses query tersebut. Sehingga perlu dibuat sebuah endpoint agar bisa kita akses dengan REST Client 4.1 Read DataSaat client mengakses URL npm install package1 package2 package3 . . .6 dengan method npm install package1 package2 package3 . . .7, maka aplikasi akan menjalankan query untuk mengambil semua data npm install package1 package2 package3 . . .8 dari database. npm install express mysql0 4.2 Create DataSaat client mengakses URL npm install package1 package2 package3 . . .6 dengan method "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }0, maka aplikasi akan mengambil data dari "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }1 untuk dimasukkan ke dalam tabel npm install package1 package2 package3 . . .8 pada database. npm install express mysql1 4.3 Update DataSaat client mengakses URL "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }3 dengan method "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }4, maka aplikasi akan mengambil data dari "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }1 untuk memperbarui data dari tabel npm install package1 package2 package3 . . .8 pada database berdasarkan parameter "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }7 yang diinputkan. Contohnya kita ingin memperbarui data dengan "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }8 = 1 pada tabel, maka URL akan menjadi "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }9. npm install express mysql2 4.4 Delete DataSama seperti diatas, client mengakses URL "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }3 dengan method const mysql = require("mysql");1 akan menghapus data pada tabel npm install package1 package2 package3 . . .8 sesuai dengan parameter "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }7 yang diinputkan. Contoh kita akan menghapus data dengan "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }8 = const mysql = require("mysql");5, maka URL akan menjadi "dependencies": { "express": "^4.17.1", "mysql": "^2.18.1" }9. Apa kelebihan Node JS?Kelebihan Node.js. Bersifat non-blocking. Sebelum membahas mengenai non-blocking, kita harus mengetahui apa itu blocking. ... . 2. Fast execution. Kode Javascript yang dieksekusi terbilang mempunyai performa yang bagus dan cepat. ... . 3. Single threaded.. Sequelize itu apa?Apa Itu Sequelize? Sequelize merupakan node.js promise-based ORM (Object Relational Mapping) untuk Postgre, MySQL, MariaDB, SQLite, dan Microsoft SQL Server. Dengan memanfaatkan ORM, Anda dapat membuat aplikasi dengan mudah tanpa menuliskan perintah SQL (Structured Query Language).
|