76 lines
1.9 KiB
Go
76 lines
1.9 KiB
Go
package mmysql
|
|
|
|
import (
|
|
"../config"
|
|
"database/sql"
|
|
"fmt"
|
|
"log"
|
|
"strings"
|
|
//导入mysql的驱动
|
|
_ "github.com/go-sql-driver/mysql"
|
|
)
|
|
|
|
type ServiceStatus struct {
|
|
Id int32 `json:"id"`
|
|
Cost int64 `json:"cost"`
|
|
Status bool `json:"status"`
|
|
Ip string `json:"ip"`
|
|
Area string `json:"area"`
|
|
}
|
|
|
|
func GetServiceStatus(c *ServiceStatus) bool {
|
|
log.Println("get message from client", c)
|
|
return true
|
|
}
|
|
|
|
func clearTransaction(tx *sql.Tx) {
|
|
err := tx.Rollback()
|
|
if err != sql.ErrTxDone && err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
}
|
|
|
|
func SaveServiceStatus(s []ServiceStatus) {
|
|
var myconn config.MysqlConf
|
|
myconn.GetMysqlConn()
|
|
path := strings.Join([]string{myconn.User, ":", myconn.Passwd, "@tcp(", myconn.Conn, ")/", "services", "?charset=utf8"}, "")
|
|
//打开数据库,前者是驱动名,所以要导入: _ "github.com/go-sql-driver/mysql"
|
|
db, err := sql.Open("mysql", path)
|
|
//tx, err := db.Begin()
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
//defer clearTransaction(tx)
|
|
|
|
insertText := "INSERT INTO services_status(id, cost, status,ip,area) VALUES (?,?,?,?,?)"
|
|
//rs, err := db.Exec(insertText, 4, "juejin", 1000)
|
|
|
|
//stmt, err := db.Prepare("INSERT INTO services_status(id, cost, status,ip,area) VALUES (?,?,?,?,?)")
|
|
//
|
|
//defer stmt.Close()
|
|
//if err != nil {
|
|
// log.Panic("db prepare faild!", err)
|
|
//}
|
|
for _, row := range s {
|
|
//rs, _ := stmt.Exec(row.Id, row.Cost, row.Status, row.Ip, row.Area)
|
|
rs, err := db.Exec(insertText, row.Id, row.Cost, row.Status, row.Ip, row.Area)
|
|
if err != nil {
|
|
log.Panic(err)
|
|
}
|
|
if id, _ := rs.LastInsertId(); id > 0 {
|
|
fmt.Println("插入成功")
|
|
}
|
|
|
|
//stmtTx := tx.Stmt(stmt)
|
|
//defer stmtTx.Close()
|
|
//var rs sql.Result
|
|
|
|
//for _, row := range s {
|
|
// rs, _ = stmtTx.Exec(row.Id, row.Cost, row.Status, row.Ip, row.Area)
|
|
// _ = tx.Commit()
|
|
// if n, _ := rs.RowsAffected(); n > 0 {
|
|
// fmt.Println("成功")
|
|
}
|
|
|
|
}
|