Professional Documents
Culture Documents
ACTIVITY 5
(Data Binding)
package main
import (
"database/sql"
"fmt"
"html/template"
"log"
"net/http"
_ "github.com/go-sql-driver/mysql"
)
func createDatabase() {
db, err := sql.Open("mysql", "root:@tcp(localhost:3306)/")
if err != nil {
log.Fatal(err)
}
defer db.Close()
func createTable() {
dbDriver := "mysql"
dbUser := "root"
dbPass := ""
dbName := "Daffa_11121471_pert5" // Ganti nama database dengan nama_pert5
db, err := sql.Open(dbDriver,
dbUser+":"+dbPass+"@tcp(localhost:3306)/"+dbName)
if err != nil {
log.Fatal(err)
}
defer db.Close()
createTableQuery := `CREATE TABLE IF NOT EXISTS employee (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
city VARCHAR(30) NOT NULL
);`
_, err = db.Exec(createTableQuery)
if err != nil {
log.Fatal(err)
}
func main() {
createDatabase()
createTable()
log.Printf("Server running on http://[::1]:%d/...", PORT)
http.Handle("/form/", http.StripPrefix("/form/",
http.FileServer(http.Dir("form"))))
http.HandleFunc("/", Index)
http.HandleFunc("/show", Show)
http.HandleFunc("/new", New)
http.HandleFunc("/edit", Edit)
http.HandleFunc("/insert", Insert)
http.HandleFunc("/update", Update)
http.HandleFunc("/delete", Delete)
http.ListenAndServe(fmt.Sprintf(":%d", PORT), nil)