Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Golang - Mysql ang Http Basic fucntions大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

今天总结了一些Golang的基本用法,作为记录在此

package main

import (
	"database/sql"
	"fmt"
	"io/IoUtil"
	"log"
	_ "MysqL-master/MysqL-master"
	"net/http"
	"Strings"
)

func httpGet(url String) {

	resp,err := http.Get(url)
	if err != nil {
		// handle error
	}

	defer resp.body.Close()

	body,err := IoUtil.ReadAll(resp.body)
	if err != nil {
		// handle error
	}

	fmt.Println(String(body))
}

func httpPost(url String) {

	resp,err := http.Post(url,"application/x-www-form-urlencoded",Strings.NewReader("name=cjb"))
	if err != nil {
		fmt.Println(err)
	}

	defer resp.body.Close()

	body,err := IoUtil.ReadAll(resp.body)
	if err != nil {
		// handle error
	}

	fmt.Println(String(body))
}

func getConn() *sql.DB {
	//db,err := sql.open("MysqL","root:1234@tcp(localhost:3306)/psmdb")
	db,"root:1234@tcp(localhost:3306)/psmdb")

	if err != nil {
		//log.Println(err)
	}

	err = db.Ping()

	if err != nil {
		log.Fatal(err)
	}

	println("connection MysqL success.")

	return db
}

func query(db *sql.DB) {

	rows,err := db.Query("SELEct id,username from psm_user where username = ?","changeit")
	if err != nil {
		log.Println(err)
	}

	defer rows.Close()

	var id int
	var name String
	for rows.Next() {
		err := rows.Scan(&id,&Name)
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println("id:",id,",name:",Name)
	}

	err = rows.Err()
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("query success")
}

func insert(db *sql.DB) {

	stmt,err := db.Prepare("INSERT INTO psm_user(username,password) VALUES(?,?)")

	defer stmt.Close()

	if err != nil {
		log.Println(err)
	}

	stmt.Exec("changeit","1234")
	fmt.Println("insert success")
}

func delete(db *sql.DB) {

	tx,_ := db.begin()

	stmt,err := db.Prepare("deletE FROM psm_user WHERE username=?")
	stmt.Exec("changeit")

	defer stmt.Close()

	if err != nil {
		// hand err
		tx.RollBACk()
		fmt.Println("delete error")
	}

	tx.Commit()
	fmt.Println("delete success")
}

func update(db *sql.DB) {

	tx,err := db.Prepare("update psm_user set username = ?,password = ?")
	stmt.Exec("changeit")
	stmt.Exec("1234")

	defer stmt.Close()

	if err != nil {
		// hand err
		tx.RollBACk()
		fmt.Println("update error")
	}

	tx.Commit()
	fmt.Println("update success")
}

func main() {

	httpGet("http://localhost:8088/SpringDemo/home/users/1")

	httpPost("http://localhost:8088/SpringDemo/home/user")

	db := getConn()

	insert(db)

	query(db)

	update(db)

	delete(db)
}
结果输出

[ `go run main.go` | done: 5.25s ]
	{"id":1,"username":"admin","password":"1234"}
	{"id":2,"username":"hpe4test","password":"1234"}
	insert success
	id: 7,name: changeit
	query success
	update success
	delete success
	
	connection MysqL success.
[ C:/MyGo/src/ ] # 

注:

驱动下载地址:https://github.com/go-sql-driver/MysqL/

大佬总结

以上是大佬教程为你收集整理的Golang - Mysql ang Http Basic fucntions全部内容,希望文章能够帮你解决Golang - Mysql ang Http Basic fucntions所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。