当前位置: 首页 > news >正文

网站站欣赏全国最新疫情最新消息

网站站欣赏,全国最新疫情最新消息,施工企业安全生产责任制度,招聘网哪个真实可靠一些sqlx库使用指南 在项目中我们通常可能会使用database/sql连接MySQL数据库。本文借助使用sqlx实现批量插入数据的例子,介绍了sqlx中可能被你忽视了的sqlx.In和DB.NamedExec方法。 sqlx介绍 在项目中我们通常可能会使用database/sql连接MySQL数据库。sqlx可以认为是Go…

sqlx库使用指南
在项目中我们通常可能会使用database/sql连接MySQL数据库。本文借助使用sqlx实现批量插入数据的例子,介绍了sqlx中可能被你忽视了的sqlx.In和DB.NamedExec方法。
sqlx介绍
在项目中我们通常可能会使用database/sql连接MySQL数据库。sqlx可以认为是Go语言内置database/sql的超集,它在优秀的内置database/sql基础上提供了一组扩展。这些扩展中除了大家常用来查询的Get(dest interface{}, ...) error和Select(dest interface{}, ...) error外还有很多其他强大的功能。

代码:

创建你数据表

CREATE TABLE `user` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT,`name` VARCHAR(20) DEFAULT '',`age` INT(11) DEFAULT '0',PRIMARY KEY(`id`)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

代码的增删改查;

package mainimport ("fmt"_ "github.com/go-sql-driver/mysql""github.com/jmoiron/sqlx"
)type user struct {Id   intAge  intName string
}var db *sqlx.DBfunc initDB() (err error) {dsn := "root:root123456@tcp(127.0.0.1:3306)/sql_test?charset=utf8mb4&parseTime=True"// 也可以使用MustConnect连接不成功就panicdb, err = sqlx.Connect("mysql", dsn)if err != nil {fmt.Printf("connect DB failed, err:%v\n", err)return}db.SetMaxOpenConns(20)db.SetMaxIdleConns(10)return
}// 插入数据
func insertRowDemo() {sqlStr := "insert into user(name, age) values (?,?)"ret, err := db.Exec(sqlStr, "沙河小王子", 19)if err != nil {fmt.Printf("insert failed, err:%v\n", err)return}theID, err := ret.LastInsertId() // 新插入数据的idif err != nil {fmt.Printf("get lastinsert ID failed, err:%v\n", err)return}fmt.Printf("insert success, the id is %d.\n", theID)
}// 更新数据
func updateRowDemo() {sqlStr := "update user set age=? where id = ?"ret, err := db.Exec(sqlStr, 39, 6)if err != nil {fmt.Printf("update failed, err:%v\n", err)return}n, err := ret.RowsAffected() // 操作影响的行数if err != nil {fmt.Printf("get RowsAffected failed, err:%v\n", err)return}fmt.Printf("update success, affected rows:%d\n", n)
}// 删除数据
func deleteRowDemo() {sqlStr := "delete from user where id = ?"ret, err := db.Exec(sqlStr, 1)if err != nil {fmt.Printf("delete failed, err:%v\n", err)return}n, err := ret.RowsAffected() // 操作影响的行数if err != nil {fmt.Printf("get RowsAffected failed, err:%v\n", err)return}fmt.Printf("delete success, affected rows:%d\n", n)
}// 查询单条数据示例
func queryRowDemo() {sqlStr := "select id, name, age from user where id=?"var u usererr := db.Get(&u, sqlStr, 2)if err != nil {fmt.Printf("get failed, err:%v\n", err)return}fmt.Printf("id:%d name:%s age:%d\n", u.Id, u.Name, u.Age)
}// 查询多条数据示例
func queryMultiRowDemo() {sqlStr := "select id, name, age from user where id > ?"var users []usererr := db.Select(&users, sqlStr, 0)if err != nil {fmt.Printf("query failed, err:%v\n", err)return}fmt.Printf("users:%#v\n", users)
}
func main() {initDB()insertRowDemo()queryRowDemo()deleteRowDemo()fmt.Println("==============")queryRowDemo()fmt.Println("==============")queryMultiRowDemo()
}

http://www.yidumall.com/news/32241.html

相关文章:

  • 石景山周边网站建设怎么开通网站平台
  • 济南网站建设报价今日国际重大新闻事件
  • 如皋市建设局网站个人开发app去哪里接广告
  • 做网站首页图片win10优化工具
  • 如何做一个自己的网站免费推广网站2024
  • 做网站可以把文字做成图片吗怎么注册自己公司的网址
  • 地矿局网站建设方案江苏网站seo
  • 科技企业网站源码seo优化软件哪个好
  • 重庆开发网站自助建站工具
  • 深圳网站建设门户伟哥seo博客
  • 知名企业网站人才招聘情况贵港seo
  • wordpress lbs深圳seo优化培训
  • 成都网站制作沈阳seo优化网站网页教学
  • 阜阳室内设计学校搜索引擎简称seo
  • 山东网站制作百度云
  • 沈阳网站选禾钻科技2024年3月新冠肺炎
  • 域名备案网站网站排名点击工具
  • 网站建设与管理维护厦门seo优
  • wordpress 答题主题优化公司哪家好
  • 全国十大展陈设计公司sem对seo的影响有哪些
  • 本地生活网站 源码免费推广seo
  • 手机网站如何开通微信公众号贵阳网站建设推广
  • wordpress弹出式注册页面搜索引擎优化论文
  • 咨询行业网站建设公司电商网络营销
  • 网站样例百度后台登录
  • 网站推广费用价格免费长尾词挖掘工具
  • 彩妆网站模板网络营销的好处
  • 咸阳市城乡建设规划局网站百度竞价项目
  • 网站流量如何赚钱潍坊网站建设优化
  • 关于网络的网站怎么做抖音搜索关键词推广