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

新开传奇网站手机版深圳房管局官网

新开传奇网站手机版,深圳房管局官网,网站默认首页文件顺序,如何开通自己的网站目录 1.数据库相关操作(1)非orm框架①引入②初始化③增删改查 (2) io版orm框架 (推荐用这个)①引入②初始化③增删改查④gorm gen的使用 (3) jinzhu版orm框架①引入②初始化③增删改查 2.redis(1)引入(2)初始化①普通初始化②v8初始化③get/set示例 1.数据库相关操作 (1)非orm… 目录 1.数据库相关操作(1)非orm框架①引入②初始化③增删改查 (2) io版orm框架 (推荐用这个)①引入②初始化③增删改查④gorm gen的使用 (3) jinzhu版orm框架①引入②初始化③增删改查 2.redis(1)引入(2)初始化①普通初始化②v8初始化③get/set示例 1.数据库相关操作 (1)非orm框架 ①引入 go get github.com/go-sql-driver/mysql②初始化 import (database/sqlfmtgithub.com/Project02/utils_ github.com/go-sql-driver/mysql )func InitDB() (err error) {// DSN:Data Source Namedsn : root:991113tcp(127.0.0.1:3306)/chuangyitest?charsetutf8mb4parseTimeTrue// 不会校验账号密码是否正确// 注意这里不要使用:我们是给全局变量赋值然后在main函数中使用全局变量dbMyDB, err sql.Open(mysql, dsn)if err ! nil {fmt.Println(fmt.Sprintf(database open err, err%s, utils.GetLogStr(err)))return}// 尝试与数据库建立连接校验dsn是否正确err MyDB.Ping()if err ! nil {fmt.Println(fmt.Sprintf(database ping err, err%s, utils.GetLogStr(err)))return}fmt.Println(建立链接成功...)return }③增删改查 // 查询数据示例 func queryRowDemo() {sqlStr : select * from user_tag where id ?rows, err : caller.MyDB.Query(sqlStr, 250)if err ! nil {fmt.Printf(query failed, err:%v\n, err)return}defer rows.Close()for rows.Next() {var ut UserTagerr : rows.Scan(ut.Id, ut.Name, ut.EntityId, ut.TimeCreated)if err ! nil {fmt.Printf(scan failed, err:%v\n, err)return}fmt.Printf(res%s\n, utils.GetLogStr(ut))} }// 插入数据 func insertRowDemo() {sqlStr : insert into user_tag(name, entity_id, time_created) values (?,?,?)nowTime : time.Now().Format(2006-01-02 15:04:05)ret, err : caller.MyDB.Exec(sqlStr, 王五, 2, nowTime)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_tag set time_created? where id ?nowTime : time.Now().Format(2006-01-02 15:04:05)ret, err : caller.MyDB.Exec(sqlStr, nowTime, 259)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_tag where id ?ret, err : caller.MyDB.Exec(sqlStr, 3)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) }(2) io版orm框架 (推荐用这个) 官网 http://gorm.io/ ①引入 go get gorm.io/driver/mysql go get gorm.io/gorm②初始化 import (fmtgorm.io/driver/mysqlgorm.io/gorm )var (MyDB *gorm.DB )func Init() {// 初始化数据库InitDB() }func InitDB() {MyDB InitDBDetail(root, 123456, lyhtest, 127.0.0.1, 3306)fmt.Println(success...)return }func InitDBDetail(username, password, dbname, ip string, port int64) *gorm.DB {dsn : fmt.Sprintf(%s:%stcp(%s:%d)/%s?charsetutf8parseTimeTruelocLocal, username, password, ip, port, dbname)db, err : gorm.Open(mysql.Open(dsn), gorm.Config{})if err ! nil {panic(err)}return db } ③增删改查 说明Debug()可以查看执行的sql语句。 // 增 func createDemo() {userTag : UserTag{Name: java,EntityId: 2,}caller.MyDB.Debug().Table(user_tag).Create(userTag)// 新增的主键fmt.Println(utils.GetLogStr(userTag.Id)) }// 改 func updateDemo() {userTag : UserTag{Name: 玩耍2,}aa : caller.MyDB.Debug().Table(user_tag).Where(id?, 259).Updates(userTag) // 注意是Updatesfmt.Println(utils.GetLogStr(aa)) }// 查 func queryDemo() {userTagList : make([]UserTag, 0)caller.MyDB.Debug().Table(user_tag).Where(id ?, 259).Find(userTagList)fmt.Println(utils.GetLogStr(userTagList)) }④gorm gen的使用 a.先安装(会安装到gopath的bin目录下windows电脑需要将该路径加入到系统路径) go install gorm.io/gen/tools/gentoollatestgentool -hUsage of gentool:-c stringconfig file path 配置文件路径-db stringinput mysql or postgres or sqlite or sqlserver. consult[https://gorm.io/docs/connecting_to_the_database.html] (default mysql)-dsn stringconsult[https://gorm.io/docs/connecting_to_the_database.html]-fieldNullablegenerate with pointer when field is nullable-fieldWithIndexTaggenerate field with gorm index tag-fieldWithTypeTaggenerate field with gorm column type tag-modelPkgName stringgenerated model codes package name {生成结构体的路径}-outFile stringquery code file name, default: gen.go-outPath stringspecify a directory for output (default ./dao/query) {生成query的路径}-tables stringenter the required data table or leave it blank-onlyModelonly generate models (without query file)-withUnitTestgenerate unit test for query code-fieldSignabledetect integer fields unsigned type, adjust generated data typeeg : --tablesorders # generate from orders--tablesorders,users # generate from orders and users--tables # generate from all tables 这样是全部的表名b.举例 说明1windows电脑go install之后把exe添加到系统路径然后最好使用cmd运行, 先进入到项目目录执行下面的命令(如果提示没有gcc命令需要先安装该命令) 说明2-modelPkgName属性是在-outPath路径的上一级目录的基础上的 gentool -dsn root:991113tcp(127.0.0.1:3306)/chuangyitest?charsetutf8parseTimeTruelocLocal -tables -outPath ./dal/query -modelPkgName ./models生成的项目结构为 projectdalmodelsquery(3) jinzhu版orm框架 官网 https://pkg.go.dev/github.com/jinzhu/gorm#Open ①引入 go get github.com/go-sql-driver/mysql go get -u github.com/jinzhu/gorm②初始化 package callerimport (fmt_ github.com/go-sql-driver/mysqlgithub.com/jinzhu/gormliuyaohui.lyh/Project03/utils )var (MyDB *gorm.DB )func Init() {// 初始化数据库if err : InitDB(); err ! nil {fmt.Println(fmt.Sprintf(database err, err%s, utils.GetLogStr(err)))} }func InitDB() (err error) {MyDB, err gorm.Open(mysql, root:991113tcp(127.0.0.1:3306)/chuangyitest?charsetutf8parseTimeTruelocLocal)if err ! nil {fmt.Println(fmt.Sprintf(database open err, err%s, utils.GetLogStr(err)))return}fmt.Println(database success...)return }③增删改查 // 增 func MyInsert() {caller.MyDB.Table(user_tag).Create(UserTag{Name: ik01001, EntityId: 2}) }// 查 func myQuery() {var userTag UserTagcaller.MyDB.Table(user_tag).First(userTag, id ?, 259) // 查询code为259的userTagfmt.Printf(%s\n, utils.GetLogStr(userTag))userTagList : make([]UserTag, 0)caller.MyDB.Table(user_tag).Find(userTagList, id ?, 257)fmt.Printf(%s\n, utils.GetLogStr(userTagList)) }// 事务 func myTx() error {// 注意一旦你在一个事务中使用tx作为数据库句柄tx : caller.MyDB.Table(user_tag).Begin()// 注意where一定要在更新操作前面,不然会数据全部更新// 方式1if err : tx.Where(map[string]interface{}{id: 259}).Update(UserTag{Name: 玩耍2}).Error; err ! nil {tx.Rollback()return err}// 方式2if err : tx.Where(id?, 259).Update(UserTag{Name: 玩耍333}).Error; err ! nil {tx.Rollback()return err}tx.Commit()return nil }2.redis 网址https://liwenzhou.com/posts/Go/go_redis/ (1)引入 go get -u github.com/go-redis/redis(2)初始化 ①普通初始化 // 声明一个全局的rdb变量 var rdb *redis.Client// 初始化连接 func initClient() (err error) {rdb redis.NewClient(redis.Options{Addr: localhost:6379,Password: , // no password setDB: 0, // use default DB})_, err rdb.Ping().Result()if err ! nil {return err}return nil }②v8初始化 import (contextfmttimegithub.com/go-redis/redis/v8 // 注意导入的是新版本 )var (rdb *redis.Client )// 初始化连接 func initClient() (err error) {rdb redis.NewClient(redis.Options{Addr: localhost:16379,Password: , // no password setDB: 0, // use default DBPoolSize: 100, // 连接池大小})ctx, cancel : context.WithTimeout(context.Background(), 5*time.Second)defer cancel()_, err rdb.Ping(ctx).Result()return err }③get/set示例 func redisExample() {err : rdb.Set(score, 100, 0).Err()if err ! nil {fmt.Printf(set score failed, err:%v\n, err)return}val, err : rdb.Get(score).Result()if err ! nil {fmt.Printf(get score failed, err:%v\n, err)return}fmt.Println(score, val)val2, err : rdb.Get(name).Result()if err redis.Nil {fmt.Println(name does not exist)} else if err ! nil {fmt.Printf(get name failed, err:%v\n, err)return} else {fmt.Println(name, val2)} }
http://www.zqtcl.cn/news/810293/

相关文章:

  • 重庆网站建设营销深圳微商城网站设计公司
  • 用织梦做的网站是模板的吗外贸展示型模板网站
  • 网站seo的关键词排名怎么做的定制和订制
  • 自适应网站做多大尺寸的四川建设厅电话网站
  • 易语言可以做网站了吗电商平台排名100强
  • 网站代码开发方式影视公司网页设计
  • 如何选择网站定制公司响水专业做网站
  • 海门建网站公司凡客模板wordpress
  • 网站关键字排名php开源cms
  • 手机商城手机网站建设多少钱明水县网站建设
  • 北京网站优化外包做板材外贸一般用哪个网站
  • 北京建设网站有哪些公司药店网站模板
  • 网站欢迎页面怎么做个人简历免费模板下载
  • 宁波外贸网站建设竣工验收报告查询网
  • 内衣网站建设详细方案如何制作企业网站的版式
  • 网站建设是否需要源代码php如何制作网站
  • 自响应式网站是什么意思现货交易平台合法的有几家
  • 网站如何做视频链接地址一个虚拟主机空间挂两个网站
  • seo外贸网站建设常州本地网站
  • 可以做机械设计接单的网站pc网站怎么做自适应
  • 网站建设义乌电子商务做网站实训体会
  • 哪些网站做国际贸易比较好徐州泉山建设局网站
  • 平果县免费网站哪家好新媒体营销
  • 网站制作的页面比例企业为什么建立企业网站
  • 网站开发技术的发展专业的seo网站优化公司
  • 十大ppt模板免费下载网站惠州网络营销
  • 网站建设自优化网站首页
  • 网络营销推广方式包括哪几种湘潭网站seo磐石网络
  • 英文WordPress站点切换为中文优化神马网站关键词排名价格
  • 宁波网站建设免费咨询网站建设服务费怎么做会计分录