Belajar Golang #40 : Membuat REST API + MySQL – Koneksi Database

Tutorial golang ke 40 yang membahas mengenai cara membuat REST API dengan Golang dan Database MySQL dimana kita akan membuat CRUD (Create, Read, Update dan Delete). Kita mulai dari cara menghubungakan program Golang dengan database MySQL.

Membuat REST API dengan Database MySQL

Sebelum melanjutkan saya akan berikan beberapa hal yang perlu di pelajari sebelum nya yaitu :

Apabila anda belum belajar 3 materi di atas maka saya sarankan mempelajari terlebih dahulu agar lebih mudah memahami tutorial belajar golang kali ini.

Yuk kita mulai dari persiapan projek terlebih dahulu.

Struktur Projek

Silahkan buat folder dan file dengan struktur folder sederhana seperti di bawah ini :

Penjelasan :

  • main.go, digunakan untuk menjalankan melakukan aksi terhadap data, bisa di katakan sebuah controller.
  • utils/res.go, digunakan untuk mencetak data dengan format JSON.
  • config/config.go, digunakan untuk melakukan konfigurasi MySQL.
  • mahasiswa/repository_mysql.go, digunakan untuk melakukan query ke database.
  • models/mahasiswa.go, digunakan untuk membuat struct/ struktur.

Perlu di ketahui saya membuat projek ini di folder /home/didik/Workspace/go_path/src/github.com/kodingin/api-mysql. Nama di rektorinya adalah api-mysql.

Kenapa saya kasih tahu ke anda ?

Karena ketika melakukan import dari file lain harus melakukan import dari GOPATH nya yang ada di dalam di rektori src.

Silahkan sesuaikan di lokal PC anda.

Sekarang kita isikan kode di fungsi main.go.

Hal yang pertama kita lakukan yaitu membuat http server agar dapat di jalankan di browser.

main.go

Jika di jalankan kode di atas belum menghasilkan apa-apa karena tidak ada http handler yang di panggil.

Lalu kita isikan file utils/res.go.

utils/res.go

Kode di atas berguna untuk menampilkan data dengan bentuk JSON di browser. Fungsi di atas nantinya akan kita panggil dari file main.go.

Sekarang kita buat modelnya, silahkan buka models/mahasiswa.go.

models/mahasiswa.go

Kode di atas merupakan struct, dimana nanti di gunakan untuk melakukan segala bentuk manipulasi data, seperti menampilkan data dengan golang dengan database MySQL.

Jika sudah sekarang kita akan melakukan koneksi ke database MySQL.

Koneksi Golang ke Database MySQL

Sebelumnya silahkan buat database dengan nama akademik. Dan nama tabel mahasiswa.

Berikut ini query sql nya yang bisa anda excute.

Sehingga skema tabel mahasiswa seperti gambar di bawah ini.

Belajar Golang #40 : Membuat REST API + MySQL - Koneksi Database
Membuat Skema database MySQL untuk Golang

Pastikan skema database dengan tabel mahasiswa sudah sama.

Sekarang kita lakukan koneksi ke database MySQL, untuk menghubungkan Golang dengan MySQL kita harus menginstall package nya dulu.

Ada banyak pilihan, namun pada tutorial ini kita akan menggunakan yang sering banyak digunakan yaitu https://github.com/go-sql-driver/mysql.

Silahkan install package di atas dengan mengetikkan perintah di bawah ini di command line.

Jika sudah, sekarang mari kita buat kode nya. Untuk melakukan koneksi dengan database MySQL kita menggunakan file config/config.go.

main.go

Silahkan ganti pengaturan koneksi ke databasenya sesuai dengan environment milik anda yang terdapat pada kode :

Sekarang mari kita lihat hasilnya. Apakah sudah berhasil atau belum.

Silahkan panggil fungsi MySQL() dari file main dan fungsi main.

main.go

Perhatikan kode di atas pada bagian isi dari import, terdapat kode : "github.com/kodingin/api-mysql/config". Nah kode tersebut bisa anda sesuaikan dengan folder anda.

Sebagai contoh anda membuat di folder GOPATH/src/github.com/iniaku/api-mysql maka ubah menjadi :

Ingaet pemanggilan file lain mulai dari folder di dalam src.

Sekarang mari kita coba jalankan

go run main.go

Belajar Golang #40 : Membuat REST API + MySQL - Koneksi Database
Koneksi database MySQL yang Berhasil.

Jika hasilnya seperti gambar di atas maka koneksi ke database MySQL berhasil.

Berikut ini saya sengaja salahkan konfigurasinya, dan lihat apa yang terjadi.

Belajar Golang #40 : Membuat REST API + MySQL - Koneksi Database
Koneksi database MySQL yang Gagal.

Jika hasil nya seperti gambar di atas, maka konfigurasi ke database mysql nya gagal dengan alasan environment tidak sesuai. Solusinya silahkan perbaiki lagi di config/config.go.

Selanjutnya ngapain ?

Silahkan lanjut ke tutorial Golang MySQL berikutnya yang membahas :

Oke, sekian tutorial cara koneksi Golang ke Database MySQL. Silahkan di tunggu kelanjutannya tutorial membuat RESTFull API dengan Golang dan database MySQL nya. Terima kasih sahabat kodingin.com.

Leave a Reply