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

手机网站好还是h5好开建筑公司取名字如何取好旺

手机网站好还是h5好,开建筑公司取名字如何取好旺,网站建设为什么需要备案,做网站主播要什么条件通过前几篇想必你已经知道该如何使用Go语言写一些简单的程序了#xff0c;那么从这一篇开始#xff0c;我们开始探究如何用go语言能够写真正的企业级应用。第一步我们实现先能让程序对数据库进行增删改查#xff0c;这里以MySQL为例。 1. 导入必要的包 首先需要导入databa…通过前几篇想必你已经知道该如何使用Go语言写一些简单的程序了那么从这一篇开始我们开始探究如何用go语言能够写真正的企业级应用。第一步我们实现先能让程序对数据库进行增删改查这里以MySQL为例。 1. 导入必要的包 首先需要导入database/sql包用于数据库操作的通用接口以及特定数据库MySQL的驱动包github.com/go-sql-driver/mysql。 import (database/sqlfmt_ github.com/go-sql-driver/mysql )2. 连接数据库 使用sql.Open()函数来建立与MySQL数据库的连接。 func main() {db, err : sql.Open(mysql, user:passwordtcp(127.0.0.1:3306)/your_database?charsetutf8mb4parseTimeTruelocLocal)if err! nil {fmt.Println(数据库连接失败:, err)return}defer db.Close()// 测试连接是否成功err db.Ping()if err! nil {fmt.Println(数据库连接不可用:, err)return}fmt.Println(数据库连接成功) }3. 数据查询SELECT 基本查询 使用db.Query()或db.QueryRow()函数执行查询语句。Query用于返回多行结果集QueryRow用于返回单行结果。问号代表的是预编译参数如果你用过Java的JDBC对此一定不会陌生。var id int var name string row : db.QueryRow(SELECT id, name FROM users WHERE id ?, 1) err row.Scan(id, name) if err! nil {fmt.Println(查询失败:, err)return } fmt.Printf(查询结果: id %d, name %s\n, id, name)查询多行数据 使用db.Query()结合rows.Next()、rows.Scan()来遍历结果集。rows, err : db.Query(SELECT id, name FROM users) if err! nil {fmt.Println(查询失败:, err)return } defer rows.Close() for rows.Next() {var id intvar name stringerr rows.Scan(id, name)if err! nil {fmt.Println(扫描结果失败:, err)return}fmt.Printf(查询结果: id %d, name %s\n, id, name) } err rows.Err() if err! nil {fmt.Println(遍历结果集时出错:, err)return }4. 数据插入INSERT 使用db.Exec()函数执行插入语句。 result, err : db.Exec(INSERT INTO users (name, age) VALUES (?,?), 张三, 30) if err! nil {fmt.Println(插入数据失败:, err)return } lastInsertId, err : result.LastInsertId() if err! nil {fmt.Println(获取插入ID失败:, err)return } fmt.Printf(插入成功最后插入的ID为: %d\n, lastInsertId)5. 数据更新UPDATE 同样使用db.Exec()函数执行更新语句。 result, err : db.Exec(UPDATE users SET age ? WHERE name ?, 31, 张三) if err! nil {fmt.Println(更新数据失败:, err)return } rowsAffected, err : result.RowsAffected() if err! nil {fmt.Println(获取更新行数失败:, err)return } fmt.Printf(更新成功影响的行数为: %d\n, rowsAffected)6. 数据删除DELETE 使用db.Exec()函数执行删除语句。 result, err : db.Exec(DELETE FROM users WHERE name ?, 张三) if err! nil {fmt.Println(删除数据失败:, err)return } rowsAffected, err : result.RowsAffected() if err! nil {fmt.Println(获取删除行数失败:, err)return } fmt.Printf(删除成功影响的行数为: %d\n, rowsAffected)7. 事务控制 在Go语言中事务控制可以通过Tx对象来实现。事务可以确保一组数据库操作要么全部成功要么全部失败。 tx, err :db.Begin() if err ! nil {fmt.Println(启动事务失败:, err)return }_, err tx.Exec(UPDATE users SET age age 1 WHERE id 1) if err ! nil {fmt.Println(更新数据1失败:, err)return } fmt.Println(已更新数据1) _, err tx.Exec(UPDATE users SET age age - 1 WHERE id 2) if err ! nil {fmt.Println(更新数据2失败:, err)return } fmt.Println(已更新数据2) tx.Rollback() fmt.Println(已完成回滚) _, err tx.Exec(UPDATE users SET age 30 WHERE id 3) if err ! nil {fmt.Println(更新数据3失败:, err)return } fmt.Println(已更新数据3) tx.Commit() fmt.Println(已提交)8. 数据库连接池设置 Go语言的database/sql包提供了连接池的默认实现但你可以通过设置连接池的参数来优化性能。 db, err : sql.Open(mysql, user:passwordtcp(127.0.0.1:3306)/your_database?charsetutf8mb4parseTimeTruelocLocal) if err! nil {fmt.Println(数据库连接失败:, err)return } defer db.Close() // 设置连接池参数 db.SetMaxOpenConns(25) // 最大打开连接数 db.SetMaxIdleConns(25) // 最大空闲连接数 db.SetConnMaxLifetime(5 * time.Minute) // 连接最大生命周期5. 总结 增删改查使用Exec和Query方法进行数据库操作。事务控制使用Begin、Commit和Rollback方法来管理事务。并发控制通过连接池管理和事务隔离级别来控制并发访问。数据库连接池设置通过SetMaxOpenConns、SetMaxIdleConns和SetConnMaxLifetime方法来配置连接池参数。
http://www.hkea.cn/news/14302598/

相关文章:

  • 广州黄埔做网站的公司国家有规定必须做可信网站验证
  • 做海报 画册的素材网站专业的聊城网站优化
  • 徐州市城乡和住房建设局网站南宁百姓网
  • 深圳品牌网站建设服务费用北美购物网站排名
  • 网站模版建设工具南阳网站建设费用
  • 成功的营销网站企业密信下载app下载官网
  • 网站用户体验设计中国互联网协会什么级别
  • 网站建设价格兴田德润i网址多少微商怎么引流被别人加
  • 做一个网站 如何盈利模式WordPress首页做成插件
  • 网站侧栏设计珠海网站建设排名
  • 视频网站界面设计用老域名做新网站 权重怎么传递
  • 制作营销型网站公司数据库修改wordpress登录密码忘记
  • 佛山微信网站建设多少钱网站建设搜索优化app推广新闻营销
  • 网站开发保密协议模板云南网站建设快速排名
  • 科丰化工东莞网站建设关键词搜索量查询
  • 做搜狗网站优化点成都私人做公司网站的
  • 网站注册空间水利网站建设管理汇报
  • 怎么做最简单的网站做网站比较好的软件
  • 邹城手机网站建设关于动漫制作专业
  • 南通城市建设集团网站长治做网站哪里不错
  • 驾校网上约车网站开发手机网站域名哪里注册时间
  • 郴州建设网站的公司网络平台举报中心
  • wordpress创建文章seo优化广告
  • 仕德伟做的网站整合营销活动策划方案
  • 网站页面确认书做啥网站赚钱?
  • 呼和浩特做网站宝塔建站工具
  • 网站给假冒伪劣产品做推广找百度做的网站可以过户
  • 上海网站建设科技公司做网站手机模板app
  • 朝阳网站搭建公司门户系统大全
  • 大人小孩做网站wordpress lazy load