This commit is contained in:
xkm
2025-11-12 19:55:29 +08:00
commit deec440038
7 changed files with 319 additions and 0 deletions

45
main.go Normal file
View File

@@ -0,0 +1,45 @@
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)
}
}