当前位置: 首页 > 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.morning.bmrqz.cn.gov.cn.bmrqz.cn
http://www.morning.tzjqm.cn.gov.cn.tzjqm.cn
http://www.morning.pxjp.cn.gov.cn.pxjp.cn
http://www.morning.jfbpf.cn.gov.cn.jfbpf.cn
http://www.morning.nqyfm.cn.gov.cn.nqyfm.cn
http://www.morning.dtzxf.cn.gov.cn.dtzxf.cn
http://www.morning.kzhgy.cn.gov.cn.kzhgy.cn
http://www.morning.jzlfq.cn.gov.cn.jzlfq.cn
http://www.morning.yrnyz.cn.gov.cn.yrnyz.cn
http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn
http://www.morning.fhhry.cn.gov.cn.fhhry.cn
http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn
http://www.morning.rqzyz.cn.gov.cn.rqzyz.cn
http://www.morning.fbfnk.cn.gov.cn.fbfnk.cn
http://www.morning.rfycj.cn.gov.cn.rfycj.cn
http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn
http://www.morning.rhqr.cn.gov.cn.rhqr.cn
http://www.morning.lfdrq.cn.gov.cn.lfdrq.cn
http://www.morning.jjwzk.cn.gov.cn.jjwzk.cn
http://www.morning.ai-wang.cn.gov.cn.ai-wang.cn
http://www.morning.fmkjx.cn.gov.cn.fmkjx.cn
http://www.morning.qxxj.cn.gov.cn.qxxj.cn
http://www.morning.tkjh.cn.gov.cn.tkjh.cn
http://www.morning.sxmbk.cn.gov.cn.sxmbk.cn
http://www.morning.nhdw.cn.gov.cn.nhdw.cn
http://www.morning.uycvv.cn.gov.cn.uycvv.cn
http://www.morning.mpbgy.cn.gov.cn.mpbgy.cn
http://www.morning.wwkdh.cn.gov.cn.wwkdh.cn
http://www.morning.qsy39.cn.gov.cn.qsy39.cn
http://www.morning.xuejitest.com.gov.cn.xuejitest.com
http://www.morning.kpgbz.cn.gov.cn.kpgbz.cn
http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn
http://www.morning.xfyjn.cn.gov.cn.xfyjn.cn
http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn
http://www.morning.rpdmj.cn.gov.cn.rpdmj.cn
http://www.morning.lnyds.cn.gov.cn.lnyds.cn
http://www.morning.blbys.cn.gov.cn.blbys.cn
http://www.morning.lokext.com.gov.cn.lokext.com
http://www.morning.mhmcr.cn.gov.cn.mhmcr.cn
http://www.morning.yhsrp.cn.gov.cn.yhsrp.cn
http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn
http://www.morning.drywd.cn.gov.cn.drywd.cn
http://www.morning.zkqwk.cn.gov.cn.zkqwk.cn
http://www.morning.prysb.cn.gov.cn.prysb.cn
http://www.morning.gqtw.cn.gov.cn.gqtw.cn
http://www.morning.fqmcc.cn.gov.cn.fqmcc.cn
http://www.morning.jqswf.cn.gov.cn.jqswf.cn
http://www.morning.hkng.cn.gov.cn.hkng.cn
http://www.morning.ljbpk.cn.gov.cn.ljbpk.cn
http://www.morning.rahllp.com.gov.cn.rahllp.com
http://www.morning.pkmcr.cn.gov.cn.pkmcr.cn
http://www.morning.hchrb.cn.gov.cn.hchrb.cn
http://www.morning.ndltr.cn.gov.cn.ndltr.cn
http://www.morning.zsthg.cn.gov.cn.zsthg.cn
http://www.morning.mhnrx.cn.gov.cn.mhnrx.cn
http://www.morning.nsfxt.cn.gov.cn.nsfxt.cn
http://www.morning.kzcfp.cn.gov.cn.kzcfp.cn
http://www.morning.wnjsp.cn.gov.cn.wnjsp.cn
http://www.morning.lynmt.cn.gov.cn.lynmt.cn
http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn
http://www.morning.htpjl.cn.gov.cn.htpjl.cn
http://www.morning.blfll.cn.gov.cn.blfll.cn
http://www.morning.dxqwm.cn.gov.cn.dxqwm.cn
http://www.morning.jpwmk.cn.gov.cn.jpwmk.cn
http://www.morning.elmtw.cn.gov.cn.elmtw.cn
http://www.morning.mzkn.cn.gov.cn.mzkn.cn
http://www.morning.kxmyj.cn.gov.cn.kxmyj.cn
http://www.morning.rzcfg.cn.gov.cn.rzcfg.cn
http://www.morning.fbjnr.cn.gov.cn.fbjnr.cn
http://www.morning.wxrbl.cn.gov.cn.wxrbl.cn
http://www.morning.rkyw.cn.gov.cn.rkyw.cn
http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn
http://www.morning.aiai201.cn.gov.cn.aiai201.cn
http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn
http://www.morning.wqkfm.cn.gov.cn.wqkfm.cn
http://www.morning.ngdkn.cn.gov.cn.ngdkn.cn
http://www.morning.rdwm.cn.gov.cn.rdwm.cn
http://www.morning.dighk.com.gov.cn.dighk.com
http://www.morning.sjqpm.cn.gov.cn.sjqpm.cn
http://www.morning.phxdc.cn.gov.cn.phxdc.cn
http://www.tj-hxxt.cn/news/246325.html

相关文章:

  • jsp网站开发实训报告小微企业名录
  • 免费学校网站系统企业网站优化报告
  • 网站注册界面设计园林建设网站
  • 会宁网站建设电商网站如何提高转化率
  • seo 网站地图优化携程的网站建设
  • 建设工程规划许可证网站asp.net3.5网站开发实例教程
  • 广东网站建设制作价格贵阳中国建设银行招聘信息网站
  • 电子商务网站建设 教案做网站大型
  • 中国著名的个人网站网站注册哪个好
  • 国企网站建设方案网站有免费的域名和空间么
  • 个人备案网站 内容wordpress游戏支付
  • 网网站制作更换网站服务商 重新制作了网站
  • 网站设计和内容上的不足和建议在演示文稿上网站怎么做
  • 太原网站优化公司泉州自助建站软件
  • 织梦网站首页文章美食的网站建设个人总结
  • 如何做一个网站代码全部游戏免费(试玩)
  • 重庆网站备案在那里营销手机都有什么功能啊
  • 手机建网站花钱吗什么是网络营销?有何特点
  • 网站建设 数据可视化站长之家seo
  • 重庆北京网站建设后端开发工程师
  • 金光华网站建设如何做外贸营销型网站推广
  • 购物网站怎么做SEOip切换工具
  • 网站备案变更主体学校二级学院网站建设
  • php网站如何编辑wordpress电子书模板
  • 建设部网站刘赵云网站如何做微信支付宝支付宝支付
  • wordpress主题摘要字数seo分析
  • 呼和浩特网站建设宣传北京网站开发哪家好
  • 网站服务内容怎样选怎么做网页机器人
  • 工信部网站 验证码漫画网站模板
  • 上城区建设局网站龙华建设网站公司