Golang - Mysql ang Http Basic fucntions
2016-04-20 00:13
344 查看
今天总结了一些Golang的基本用法,作为记录在此!
注:
驱动下载地址:https://github.com/go-sql-driver/mysql/
下载方式: 执行命令:go get github.com/go-sql-driver/mysql
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, err := sql.Open("mysql", "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, _ := db.Begin() stmt, 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/
下载方式: 执行命令:go get github.com/go-sql-driver/mysql
相关文章推荐
- Python实现HTTP协议下的文件下载方法总结
- Ruby使用eventmachine为HTTP服务器添加文件下载功能
- 当荷尔蒙耗尽,谁能打破直播业的色情枷锁?
- 网络编程学习——Unix域协议
- 网络编程遇到的坑
- http协议组成 讲解demo
- 对系统网络请求进行简单封装
- iOS 网络编程
- TCP通信示例
- 托管主机应考虑的种种问题
- Http组件的介绍
- JavaScript FileApi简单介绍--使用XMLHttpRequest完成文件上传
- httpclient 简单实例
- Okhttp使用
- Linux驱动开发-15、网络设备驱动
- CDN(内容分发网络)技术原理
- 五步学会XMLHttpRequest
- 阮一峰的网络日志 算法
- Android 网络请求
- Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-2.5.xsd).