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

2003建网站国内做外单的网站有哪些

2003建网站,国内做外单的网站有哪些,jsp 响应式网站模板下载,济南网站制作公司报价在 Go 语言中#xff0c;sqlx 包是一个用于数据库操作的库#xff0c;它建立在标准库的 database/sql 包之上#xff0c;并提供了一些额外的功能#xff0c;以简化和增强与数据库的交互。sqlx 的目标是通过提供更方便的 API 和一些附加功能来改善在 Go 中进行 SQL 数据库查…在 Go 语言中sqlx 包是一个用于数据库操作的库它建立在标准库的 database/sql 包之上并提供了一些额外的功能以简化和增强与数据库的交互。sqlx 的目标是通过提供更方便的 API 和一些附加功能来改善在 Go 中进行 SQL 数据库查询的体验。 以下是 sqlx 包的一些主要特性 结构体映射 sqlx 允许将数据库查询的结果映射到 Go 结构体中简化了数据的处理和访问。 命名参数 支持使用命名参数执行查询使得 SQL 语句更易读且更易维护。 Null 值支持 对于可能为 NULL 的字段sqlx 提供了 null 类型以方便地处理这些情况。 更丰富的查询方法 sqlx 提供了一些额外的查询方法如 Get、Select使得执行查询更加方便。 数据库连接池 支持数据库连接池提高了在并发环境中的性能。 支持多种数据库 sqlx 可以与多种数据库一起使用包括 PostgreSQL、MySQL、SQLite 等。 原生 SQL 支持 sqlx 支持使用原生的 SQL 语句同时也支持使用预处理语句。 扫描任意类型 sqlx 具有更灵活的 Scan 方法可以直接将查询结果映射到任意类型。 总体而言sqlx 提供了一些额外的工具和功能使得在 Go 语言中进行数据库查询更加方便、灵活同时也提高了代码的可读性和可维护性。如果你在 Go 中进行 SQL 数据库操作sqlx 是一个值得考虑的库。 接下来我们已MySQL为例,通过go代码实现数据库的CRUD 1. 安装数据库相关包 go get github.com/jmoiron/sqlxgo get github.com/go-sql-driver/mysql2.连接数据库 package mainimport (fmt_ github.com/go-sql-driver/mysqlgithub.com/jmoiron/sqlx )// 准备数据库的连接参数信息 var (userName string rootpassWord string 12345678ipAddress string 127.0.0.1port string 3306dbName string go_testcharset string utf8mb4 )// 链接mysql func connectSql() *sqlx.DB {//root:12345678tcp(127.0.0.1:3306)/go_test?charsetutf8mb4dbStr : fmt.Sprintf(%s:%stcp(%s:%s)/%s?charset%s, userName,passWord,ipAddress,port,dbName,charset)//使用匿名变量忽略errDB, _ : sqlx.Open(mysql, dbStr)//数据库连接池优化//DB.SetConnMaxLifetime() 设置连接的最大生存时间为5分钟//DB.SetConnMaxIdleTime() 设置连接的最大空闲时间为10分钟// 设置连接池大小//db.SetMaxOpenConns(10) // 设置最大打开连接数//db.SetMaxIdleConns(5) // 设置最大空闲连接数ping(DB)return DB }// 测试连接 调用DB对象的原始函数 ping() func ping(db *sqlx.DB) {err : db.Ping()if err ! nil {fmt.Println(ping失败, err)} else {fmt.Println(ping成功)} }func main() {mysqlDB : connectSql()defer mysqlDB.Close() }3.数据库连接成功后,使用sqlx相关语法实现对数据库的增删改查(CRUD) 先在本地创建一个测试用的数据库表 DROP TABLE IF EXISTS user; CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 自增主键,userid int(11) NULL DEFAULT NULL COMMENT 用户id,username varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 用户名,password varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 用户密码,avatar varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 用户头像,create_time datetime(0) NULL DEFAULT NULL COMMENT 创建时间,update_time datetime(0) NULL DEFAULT NULL COMMENT 更新时间,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 7 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ROW_FORMAT Dynamic;使用Exec()实现数据的增删改 func main() {mysqlDB : connectSql()defer mysqlDB.Close()//新增insertSql : insert into user(userid,username,password,avatar,create_time,update_time) values (?,?,?,?,?,?)result, err : mysqlDB.Exec(insertSql, 1, xiaoming, 12345678, a.png, time.Now().Format(2006-01-02 15:04:05), time.Now().Format(2006-01-02 15:04:05))if err ! nil {fmt.Println(数据插入失败, err)return}//查询新增后的最新的idid, _ : result.LastInsertId()fmt.Println(id)//修改updateSql : update user set username hahaha where id 1result2, err2 : mysqlDB.Exec(updateSql)if err2 ! nil {fmt.Println(数据更新失败, err2)return}num, _ : result2.RowsAffected()fmt.Println(影响的数据行数, num)//删除deleteSql : delete from user where id 1result3, _ : mysqlDB.Exec(deleteSql)num2, _ : result3.RowsAffected()fmt.Println(影响的数据行数, num2) }使用Query、Get、Select实现数据的查询 mysqlDB : connectSql()defer mysqlDB.Close()//基础类型存储querySql : select * from userrows, _ : mysqlDB.Query(querySql)for rows.Next() {var id, userId intvar username, password, avatar, create_time, update_time stringrows.Scan(id, userId, username, password, avatar, create_time, update_time)fmt.Println(id, userId, username, password, avatar, create_time, update_time)}rows.Close()fmt.Println(rows)//利用结构体、切片存储数据//需要与数据库内的所有字段一一映射不一致会导致查询后的解析失败type user struct {Id int db:idUserId int db:useridUserName string db:usernamePassword string db:passwordAvatar string db:avatarCreateTime string db:create_timeUpdateTime string db:update_time}//查询单条userData : new(user)mysqlDB.Get(userData, select * from user where id 2)fmt.Println(userData)//查询所有var userSlice []user//需要传入切片地址err : mysqlDB.Select(userSlice, select * from user)if err ! nil {fmt.Println(err)}fmt.Println(userSlice)
http://www.dnsts.com.cn/news/240127.html

相关文章:

  • 织梦电子行业网站模板做自己的视频网站
  • 网站开发系统规划江西建设信息港网站
  • wordpress做网站手机建设局焊工证图样
  • 权威的南昌网站设计深圳网站建设网站制作网站设计
  • 网站能带来什么职业教育网站平台建设
  • 消防电气火灾监控系统网站开发集团网站风格
  • 免费微网站系统源码免费网络推广
  • 决定网站打开的速度昆山做网站的kamese
  • 阿里云做网站开发吗汽车租赁网站建设
  • 公司网站如何被百度收录深圳市建设工程造价管理站
  • 九江哪里做网站公司做网站需要什么内容
  • 怎么优化网站关键词的方法争对银行排队做一网站
  • 提供营销单页网站乌市做网站的公司
  • 苏州市城乡建设局网站首页网站建设 域名 数据库
  • 青岛网页建站工具文化建设的中心环节是什么
  • wordpress所有版本百度搜索seo怎么做
  • 怎么把文件发送到网站1688货源网一件代发童装
  • wordpress网站弹窗插件福建住房和城乡建设厅网站首页
  • 程序员 做 个人网站android编程
  • 怎么建设网站阿里云html开头基础代码
  • 做外贸网站咨询网站优化推广培训
  • 自己做网站运营网站开发 零基础
  • 综合型网站建设青浦网站制作公司
  • 如何建开发手机网站文字logo免费设计在线生成
  • 什么网站做外贸最多的成都建设网官网
  • 中江门户网站餐饮网站建设优化建站
  • 莱芜找工作网站百度爱采购平台登录
  • 漳州最专业的网站建设公司微信公众号运营大学
  • 移动课程播放网站建设多少钱wordpress adminlte
  • 网站是别人做的 ftp账号吗建设婚恋网站基本功能有哪些