Golang - Mysql ang Http Basic fucntions
今天总结了一些Golang的基本用法,作为记录在此!
package mainimport ("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 intvar name stringfor 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 errtx.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 errtx.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 successid: 7 ,name: changeitquery successupdate successdelete successconnection mysql success.
[ C:/MyGo/src/ ] #
注:
驱动下载地址:https://github.com/go-sql-driver/mysql/
下载方式: 执行命令:go get github.com/go-sql-driver/mysql
Golang - Mysql ang Http Basic fucntions相关推荐
- golang mysql 如何设置最大连接数和最大空闲连接数
本文介绍golang 中连接MySQL时,如何设置最大连接数和最大空闲连接数. 关于最大连接数和最大空闲连接数,是定义在golang标准库中database/sql的. 文中例子连接MySQL用的SQ ...
- golang mysql 错误 sql: unknown driver “mysql“ (forgotten import?) 解决方法
golang中使用gorm连接mysql的时候会报错:sql: unknown driver "mysql" (forgotten import?) 需要在连接数据库的文件中引入 ...
- golang mysql 基本操作
导入数据库驱动 import ("database/sql""fmt"_ "github.com/go-sql-driver/mysql"& ...
- golang mysql 事务_golang的嵌套事务管理-Go语言中文社区
golang的事务管理是一件很麻烦的事,,能不能像Java那样,通过Spring管理事务,最近琢磨了一下,写了一个demo,用来管理golang的事务,使其支持golang事务的嵌套调用. 其思想很简 ...
- golang mysql商业用例_完美起航-golang操作mysql用例
golang操作mysql的demo,直接上代码 package main import ( "database/sql" "fmt" _ "gith ...
- golang MySQL 占内存_golang操作mysql使用总结
前言 Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重要的功能: sql.DB 通过数据库驱动为我们提供管理底层 ...
- golang mysql 崩溃_mysql连接问题,goruntime里执行总是出错,程序一直崩溃
初学golang,尝试写一个程序,但是在mysql操作时遇到了问题~ 看网上文章,推荐mysql直接创建一个db全局变量,然后连接一次,以后使用到直接用这个db,我按照这样的方法,然后进行操作,可是程 ...
- golang mysql 插入_Mysql学习(一)添加一个新的用户并用golang操作Mysql
Mysql添加一个新的用户并赋予权限 添加一个自己的用户到mysql 首先我们需要先用root用户登录mysql,但是刚安装完没有密码,我们先跳过密码 ailumiyana@ailumiyana:~/ ...
- golang mysql 自动建表_mysql表结构自动生成golang struct
a lib for golang , generate mysql table schema to golang struct mysql表结构自动生成golang struct github地址 安 ...
最新文章
- js进阶正则表达式方括号(方括号作用)(js正则是在双正斜杠之中:/[a-z]/g)...
- java 委托机制_通过反射实现Java下的委托机制代码详解
- Python学习:numpy点乘,按元素相乘,以及转置的处理
- 7-7 字符串修改 (15 分)
- 【Tools】Visual Studio 2019专业版下载和安装
- php获取特殊标签,thinkphp特殊标签使用
- java第一阶段知识_第一阶段 Java语言(下)
- data为long 怎么设置vue_vue--为什么data属性必须是一个函数
- 英特尔再爆重大芯片漏洞,苹果谷歌微软相继中招!
- expect脚本中,变量的写法
- 全国各地将推广电子证照,取代一证通
- oracle dbv验证,【案例】Oracle数据库verify验证块报错4 dbv报错代码:6101解决办法...
- GUI使用2——总结NGUI、tookit2D、GUI比较
- 30岁宝妈转行UI设计,后来怎么样了?
- ​浅谈 Java 后端开发工程师腾讯面试经历分享总结
- 电脑开机自动联服务器,如何让Mac开机自动连接到NAS或网上邻居上的电脑
- 脚本调试sh -x xx.sh、set -x
- 计算机中数值怎么比较大小,数值比较器,数值比较器的作用和原理是什么?
- AAAI 2022 | 改进YOLOv3!IA-YOLO:恶劣天气下的目标检测
- 2016年12月31日总结
热门文章
- 图书推荐系统(附源码链接)
- 金链盟中国区块链应用大赛正式启动,200万奖金花落谁家?
- 产业实现新一轮发展 固网宽带提速进行时
- split()方法的使用
- Node.js stream模块(一)可读流
- Differentially Private Deep Learning with Iterative Gradient Descent Optimization
- python爬虫实践报告_Python 爬虫实践:浅谈数据分析岗位
- 【*夜深了,无心睡眠*】
- 成都信息工程大学计算机网络技术题库,2017年成都信息工程大学计算机学院341农业知识综合三[专业硕士]之计算机网络考研题库...
- 利用免费API找到手机归属地