package main
import (
"encoding/json"
"fmt"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
_ "github.com/go-sql-driver/mysql"
"github.com/go-xorm/xorm"
"net/http"
"xorm.io/core"
)
var engine *xorm.Engine
func main() {
r := chi.NewRouter()
r.Use(middleware.Logger)
engine, err := xorm.NewEngine("mysql", "root:123456@/ddns?charset=utf8") // dbname是taoge
if err != nil {
fmt.Println(err)
return
}
if err := engine.Ping(); err != nil {
fmt.Println(err, "数据库连接失败!")
return
}
defer engine.Close()
fmt.Println("数据库连接成功!")
engine.SetMapper(core.GonicMapper{})
engine.Sync2(new(Domain))
r.Get("/", func(w http.ResponseWriter, r *http.Request) {
var Pers2 []Domain
var msg []byte
engine.Find(&Pers2)
w.Header().Set("content-type", "text/json")
msg, _ = json.Marshal(Pers2)
w.Write(msg)
})
http.ListenAndServe(":3000", r)
}
type Domain struct {
Id int `xorm:"pk autoincr"`
Value string `xorm:"varchar(50)"`
Remark string `xorm:"varchar(200)"`
CreateAt string `xorm:"DateTime null 'createAt'"`
Domain string `xorm:"varchar(24)"`
}