版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32502511/article/details/89710928
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
"github.com/kataras/iris"
)
//数据库配置
const (
userName = "root"
password = "123456lyl"
ip = "125.200.93.154"
port = "3306"
dbName = "xs_db"
)
func checkErr(err error){
if err!=nil{
panic(err)
}
}
//获取同城旅游网机票价格数据
func get_ly_datas() (list [] map[string]string){
//连接数据库
db,err:=sql.Open("mysql",userName+":"+password+"@tcp("+ip+")/"+dbName+"?charset=utf8")
checkErr(err)
stmt,err:=db.Prepare("SELECT * FROM tb_ly")
checkErr(err)
//执行查询语句,如果有参数,需要在Query()中传入sql参数
rows ,err :=stmt.Query()
checkErr(err)
//定义数据列表切片数组
var ly_list [] map[string]string
for rows.Next() {
var air_id string
var airline string
var flight_number string
var dep_time string
var dep_airport string
var aircraft_type string
var arr_time string
var arr_airport string
var price string
var date_str string
var crawl_date string
var crawl_time string
err :=rows.Scan(&air_id,&airline,&flight_number,&dep_time,&dep_airport,&aircraft_type,&arr_time,&arr_airport,&price,&date_str,&crawl_date,&crawl_time)
checkErr(err)
//打印数据
//fmt.Println(air_id,airline,flight_number,dep_time,dep_airport,aircraft_type,arr_time,arr_airport,price,date_str,crawl_date,crawl_time)
//组装数据成map格式,然后添加到ly_list列表中
var item=make(map[string]string)
item["air_id"]= air_id
item["airline"]=airline
item["flight_number"]=flight_number
item["dep_time"]=dep_time
item["dep_airport"]=dep_airport
item["aircraft_type"]=aircraft_type
item["arr_time"]=arr_time
item["arr_airport"]=arr_airport
item["price"]=price
item["date_str"]=date_str
item["crawl_date"]=crawl_date
item["crawl_time"]=crawl_time
ly_list=append(ly_list,item)
}
defer db.Close()
defer stmt.Close()
defer rows.Close()
return ly_list
}
//主函数
func main(){
app := iris.Default()
//post请求接口路由创建
app.Post("/post", func(ctx iris.Context) {
//id := ctx.URLParam("id")
page := ctx.URLParamDefault("page", "1")
//name := ctx.FormValue("name")
message := ctx.FormValue("message")
ctx.JSON(iris.Map{
"state": 0,
"page":page,
"message":message,
"data_list":get_ly_datas(),
})
})
//启动服务监听本地8080端口
app.Run(iris.Addr("127.0.0.1:8080"))
}