go语言怎么写一个静态Dashboard页面,并能够和mysql数据库中的内容进行交互
时间: 2024-03-27 09:36:33 浏览: 144
要编写一个能够与MySQL数据库进行交互的静态Dashboard页面,可以使用Go语言的数据库驱动程序和HTML模板库。以下是一个简单的示例:
1. 首先,创建一个名为“index.html”的HTML文件,并将其放在项目的根目录中。
2. 创建一个名为“main.go”的Go文件,并将以下代码复制并粘贴到文件中:
```go
package main
import (
"database/sql"
"fmt"
"html/template"
"net/http"
_ "github.com/go-sql-driver/mysql"
)
type User struct {
ID int
Name string
Email string
}
func main() {
// 连接MySQL数据库
db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database_name")
if err != nil {
panic(err)
}
defer db.Close()
// 查询数据库中的用户信息
rows, err := db.Query("SELECT id, name, email FROM users")
if err != nil {
panic(err)
}
defer rows.Close()
var users []User
for rows.Next() {
var user User
err := rows.Scan(&user.ID, &user.Name, &user.Email)
if err != nil {
panic(err)
}
users = append(users, user)
}
// 创建HTTP处理程序
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.ParseFiles("index.html"))
tmpl.Execute(w, users)
})
// 启动HTTP服务器
fmt.Println("Listening on :8080")
http.ListenAndServe(":8080", nil)
}
```
3. 在“index.html”文件中,可以使用Go语言的模板语法访问从MySQL数据库中检索到的用户信息。例如:
```html
<!DOCTYPE html>
<html>
<head>
<title>Dashboard</title>
</head>
<body>
<h1>Users</h1>
<ul>
{{range .}}
<li>{{.ID}} - {{.Name}} ({{.Email}})</li>
{{end}}
</ul>
</body>
</html>
```
在这个示例中,我们使用了Go语言的“database/sql”和“github.com/go-sql-driver/mysql”包来连接MySQL数据库并查询用户信息。在处理HTTP请求时,我们将从数据库中检索到的用户信息作为模板的数据参数传递到HTML模板中,然后将其渲染到HTTP响应中。
阅读全文