go 语言 web开发 数据库操作(mysql)
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "github.com/gorilla/mux" "html/template" //模板包 "net/http" ) var ( //申明模板变量,自动引入模板包 templates *template.Template news []string ) func main() { var db *sql.DB db, err := sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/p9_blog") if err != nil { panic(err) } rows, err := db.Query("select id,title from bg_article") if err != nil { panic(err) } var ( id string title string ) for rows.Next() { rows.Scan(&id, &title) news = append(news, title) } templates = template.Must(template.ParseGlob("templates/*.html")) r := mux.NewRouter() //普通路由 r.HandleFunc("/", indexHandler) r.HandleFunc("/admin", adminHandler) http.ListenAndServe(":8080", r) } func indexHandler(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) templates.ExecuteTemplate(w, "index.html", news) } func adminHandler(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) fmt.Fprintf(w, "<h1>后台</h1>") }
上一篇:go语言web开发 模板传值
下一篇:go语言web开发表单操作