This repository has been archived on 2026-05-13. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
programA-3/main.go
2025-11-12 19:55:29 +08:00

46 lines
873 B
Go

package main
import (
"context"
"database/sql"
"log"
"net/http"
"time"
_ "github.com/go-sql-driver/mysql"
)
var db *sql.DB
type Student struct {
ID int64 `json:"id"`
Name string `json:"name"`
Age int `json:"age"`
Email string `json:"email"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/health", healthHandler)
mux.HandleFunc("/students", studentsHandler)
mux.HandleFunc("/students/", studentByIDHandler)
var err error
db, err = openDB()
if err != nil {
log.Fatal(err)
}
if err = migrate(context.Background(), db); err != nil {
log.Fatal("migrate error: "+err.Error())
}
addr := ":8080"
log.Printf("Start server at %s\n", addr)
if err := http.ListenAndServe(addr, mux); err != nil {
log.Fatal(err)
}
}