Untuk mendapatkan akses database di server silahkan bisa dipelajari terlebih dahulu Aiven kemudian taruh data host,port,username,database, dan password.
Pertama, konfigurasikan koneksi ke database dalam file db.go di dalam folder Config:
Dalam contoh ini, kami menggunakan fungsi respondWithJSON dan respondWithError untuk mengirim tanggapan dalam format JSON. Metode CreateProduct, UpdateProduct, dan DeleteProduct menerima permintaan JSON dan mengembalikan respons JSON. GetAllProducts mengambil semua produk dari database dan mengembalikan dalam format JSON.
Pastikan Anda mengganti "id" dalam parameter URL dengan sesuatu yang sesuai dengan struktur URL Anda jika diperlukan. Sesuaikan juga rute dan logika operasi CRUD sesuai kebutuhan proyek Anda
memanggil InitDB di dalam fungsi main:
packagemainimport ("net/http""project-folder/src/Config""project-folder/src/Controllers")funcmain() {// Inisialisasi koneksi ke database db := Config.InitDB()defer db.Close() // Pastikan untuk menutup koneksi ke database setelah selesai// Menetapkan handler untuk rute http.HandleFunc("/product", Controllers.GetAllProducts) http.HandleFunc("/product/create", Controllers.CreateProduct) http.HandleFunc("/product/update", Controllers.UpdateProduct) http.HandleFunc("/product/delete", Controllers.DeleteProduct)// Menjalankan server HTTP http.ListenAndServe(":8080", nil)}
Dalam contoh di atas, InitDB dipanggil di dalam fungsi main sebelum server HTTP dimulai. Ini memastikan bahwa koneksi ke database dibuka saat aplikasi dimulai dan ditutup saat aplikasi berhenti. Penggunaan defer memastikan bahwa fungsi db.Close() akan dipanggil setelah fungsi main selesai dieksekusi.
Namun, dalam situasi yang lebih kompleks atau dalam aplikasi yang lebih besar, manajemen koneksi ke database dapat diintegrasikan dengan pola desain manajemen dependensi atau dalam kaitannya dengan kerangka kerja (framework) tertentu yang Anda gunakan. Sebaiknya pastikan untuk menutup koneksi ke database setelah selesai menggunakannya untuk menghindari kebocoran koneksi.