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

无锡建设网站公司软件工程师招聘

无锡建设网站公司,软件工程师招聘,快速建设企业网站,厦门网站制作收费概述 如果您没有Golang的基础#xff0c;应该学习如下前置课程。 Golang零基础入门Golang面向对象编程Go Web 基础Go语言开发REST API接口_20240728Go语言操作MySQL开发用户管理系统API教程_20240729Redis零基础快速入门_20231227GoRedis开发用户管理系统API实战_20240730Mo…概述 如果您没有Golang的基础应该学习如下前置课程。 Golang零基础入门Golang面向对象编程Go Web 基础Go语言开发REST API接口_20240728Go语言操作MySQL开发用户管理系统API教程_20240729Redis零基础快速入门_20231227GoRedis开发用户管理系统API实战_20240730MongoDB快速入门_20240411Go语言MongoDB用户管理系统实战_20240730Go语言gRPC用户微服务项目实战_20240730 基础不好的同学每节课的代码最好配合视频进行阅读和学习如果基础比较扎实则阅读本教程巩固一下相关知识点即可遇到不会的知识点再看视频。 课程特色 本教程录制于2024年8月3日使用Go1.22版本基于Goland2024进行开发采用的技术栈比较新。 每节课控制在十分钟以内课时精简每节课都是一个独立的知识点如果有遗忘完全可以当做字典来查询绝不浪费大家的时间。 整个课程从如何连接MySQL讲起讲解gorm的增删改查常见操作然后结合REST API接口开发的知识开发一个用户管理系统的后端API服务层层递进学习路径平缓。 Golang是当前国内越来越多的企业正在全面转的一门系统级别的高性能的编程语言比C语言写法更加的简单比Python性能更加的好是新时代的C语言建议每个程序员都掌握 视频课程 最近发现越来越多的公司在用Golang了所以精心整理了一套视频教程给大家这个是其中的第11部后续还会有很多。 视频已经录制完成完整目录截图如下 本套课程的特色是每节课都是一个核心知识点每个视频控制在十分钟左右精简不废话拒绝浪费大家的时间。 课程目录 01 概述02 连接MySQL数据库03 创建表04 新增数据05 查询数据06 修改数据07 删除数据08 zdpgo_gorm的介绍和使用09 事务的使用10 搭建项目的基本结构11 封装和使用初始化和关闭MySQL的方法12 创建和启动服务13 实现新增用户的接口并进行测试14 实现查询所有用户的接口并进行测试15 实现根据ID查询用户的接口并进行测试16 实现根据ID修改用户的接口并进行测试17 实现根据ID删除用户的接口并进行测试18 总结 完整代码 02 连接MySQL数据库 package mainimport (github.com/jinzhu/gorm_ github.com/jinzhu/gorm/dialects/mysql )func main() {db, err : gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8parseTimeTruelocLocal,)if err ! nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100) } 03 创建表 package mainimport (github.com/jinzhu/gorm_ github.com/jinzhu/gorm/dialects/mysql )type User struct {Id int json:idName string json:nameAge int json:age }func main() {db, err : gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8parseTimeTruelocLocal,)if err ! nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)db.AutoMigrate(User{}) } 04 新增数据 package mainimport (github.com/jinzhu/gorm_ github.com/jinzhu/gorm/dialects/mysql )type User struct {Id int json:idName string json:nameAge int json:age }func main() {db, err : gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8parseTimeTruelocLocal,)if err ! nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)db.AutoMigrate(User{})user : User{11, 张三, 33}db.Create(user) } 05 查询数据 package mainimport (fmtgithub.com/jinzhu/gorm_ github.com/jinzhu/gorm/dialects/mysql )type User struct {Id int json:idName string json:nameAge int json:age }func main() {db, err : gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8parseTimeTruelocLocal,)if err ! nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)db.AutoMigrate(User{})var users []Userdb.Find(users)fmt.Println(users) } 06 修改数据 package mainimport (fmtgithub.com/jinzhu/gorm_ github.com/jinzhu/gorm/dialects/mysql )type User struct {Id int json:idName string json:nameAge int json:age }func main() {db, err : gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8parseTimeTruelocLocal,)if err ! nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)db.AutoMigrate(User{})db.Model(User{Id: 11}).Update(name, 李四333)var users []Userdb.Find(users)fmt.Println(users) } 07 删除数据 package mainimport (fmtgithub.com/jinzhu/gorm_ github.com/jinzhu/gorm/dialects/mysql )type User struct {Id int json:idName string json:nameAge int json:age }func main() {db, err : gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8parseTimeTruelocLocal,)if err ! nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)db.AutoMigrate(User{})db.Delete(User{Id: 11})var users []Userdb.Find(users)fmt.Println(users) } 08 zdpgo_gorm的介绍和使用 package mainimport (fmtgithub.com/zhangdapeng520/zdpgo_gorm_ github.com/zhangdapeng520/zdpgo_mysql )type User struct {Id int json:idName string json:nameAge int json:age }func main() {db, err : zdpgo_gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8parseTimeTruelocLocal,)if err ! nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)db.AutoMigrate(User{})var users []Userdb.Find(users)fmt.Println(users) } 09 事务的使用 package mainimport (fmtgithub.com/zhangdapeng520/zdpgo_gorm_ github.com/zhangdapeng520/zdpgo_mysql )type User struct {Id int json:idName string json:nameAge int json:age }func main() {db, err : zdpgo_gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8parseTimeTruelocLocal,)if err ! nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)db.AutoMigrate(User{})tx : db.Begin()u : User{Name: 赵六, Age: 18}err tx.Create(u).Errorif err ! nil {tx.Rollback()panic(err)}tx.Commit()var users []Userdb.Find(users)fmt.Println(users) } 11 封装和使用初始化和关闭MySQL的方法 package gimport (github.com/zhangdapeng520/zdpgo_gorm_ github.com/zhangdapeng520/zdpgo_mysqlgorm_api_user2/model )var GDB *zdpgo_gorm.DBfunc initMySQL() {var err errorGDB, err zdpgo_gorm.Open(mysql,root:roottcp(127.0.0.1:3306)/test?charsetutf8mb4parseTimeTruelocLocal,)if err ! nil {panic(err)}GDB.DB().SetMaxIdleConns(10)GDB.DB().SetMaxOpenConns(100)GDB.AutoMigrate(model.User{}) }func closeMySQL() {GDB.Close() } 12 创建和启动服务 package routerimport github.com/zhangdapeng520/zdpgo_httprouterfunc InitRouter() *zdpgo_httprouter.Router {router : zdpgo_httprouter.New()router.POST(/user, userAdd)router.GET(/user, userGetAll)router.GET(/user/:id, userGet)router.PUT(/user/:id, userUpdate)router.DELETE(/user/:id, userDelete)return router } package mainimport (gorm_api_user2/ggorm_api_user2/routernet/httptime )func main() {g.InitGlobal()defer g.CloseGlobal()server : http.Server{Addr: :8888,Handler: router.InitRouter(),ReadTimeout: 5 * time.Second,WriteTimeout: 5 * time.Second,}server.ListenAndServe() } 13 实现新增用户的接口并进行测试 package routerimport (github.com/zhangdapeng520/zdpgo_httproutergorm_api_user2/ggorm_api_user2/modelnet/http )func userAdd(w http.ResponseWriter, r *http.Request, _ zdpgo_httprouter.Params) {var user model.Userzdpgo_httprouter.GetJson(r, user)g.GDB.Create(user)zdpgo_httprouter.ResponseSuccess(w, user) } package routerimport (github.com/zhangdapeng520/zdpgo_httprouterioostesting )func TestUserAdd(t *testing.T) {targetUrl : http://127.0.0.1:8888/userdata : map[string]interface{}{name: 王五,age: 30,}resp, err : zdpgo_httprouter.SendJson(POST, targetUrl, data)if err ! nil {t.Error(err)}io.Copy(os.Stdout, resp.Body) } 14 实现查询所有用户的接口并进行测试 package routerimport (github.com/zhangdapeng520/zdpgo_httproutergorm_api_user2/ggorm_api_user2/modelnet/httpstrconv )func userGetAll(w http.ResponseWriter, r *http.Request, _ zdpgo_httprouter.Params) {var users []model.Userg.GDB.Find(users)zdpgo_httprouter.ResponseSuccess(w, users) }func userGet(w http.ResponseWriter, r *http.Request, ps zdpgo_httprouter.Params) {idStr : ps.ByName(id)id, _ : strconv.Atoi(idStr)var user model.Userg.GDB.Find(user, id?, id)zdpgo_httprouter.ResponseSuccess(w, user) } package routerimport (ionet/httpostesting )func TestUserGetAll(t *testing.T) {targetUrl : http://127.0.0.1:8888/userresp, err : http.Get(targetUrl)if err ! nil {t.Error(err)}io.Copy(os.Stdout, resp.Body) }func TestUserGet(t *testing.T) {targetUrl : http://127.0.0.1:8888/user/4resp, err : http.Get(targetUrl)if err ! nil {t.Error(err)}io.Copy(os.Stdout, resp.Body) } 16 实现根据ID修改用户的接口并进行测试 package routerimport (github.com/zhangdapeng520/zdpgo_httproutergorm_api_user2/ggorm_api_user2/modelnet/httpstrconv )func userUpdate(w http.ResponseWriter, r *http.Request, ps zdpgo_httprouter.Params) {idStr : ps.ByName(id)id, _ : strconv.Atoi(idStr)var user model.Userzdpgo_httprouter.GetJson(r, user)g.GDB.Model(model.User{Id: id}).Update(name, user.Name, age, user.Age)zdpgo_httprouter.ResponseSuccess(w, nil) } package routerimport (github.com/zhangdapeng520/zdpgo_httprouterioostesting )func TestUserUpdate(t *testing.T) {targetUrl : http://127.0.0.1:8888/user/4data : map[string]interface{}{name: 李四333,age: 30,}resp, err : zdpgo_httprouter.SendJson(PUT, targetUrl, data)if err ! nil {t.Error(err)}io.Copy(os.Stdout, resp.Body) } 17 实现根据ID删除用户的接口并进行测试 package routerimport (github.com/zhangdapeng520/zdpgo_httproutergorm_api_user2/ggorm_api_user2/modelnet/httpstrconv )func userDelete(w http.ResponseWriter, r *http.Request, ps zdpgo_httprouter.Params) {idStr : ps.ByName(id)id, _ : strconv.Atoi(idStr)g.GDB.Delete(model.User{Id: id})zdpgo_httprouter.ResponseSuccess(w, nil) } package routerimport (github.com/zhangdapeng520/zdpgo_httprouterioostesting )func TestUserDelete(t *testing.T) {targetUrl : http://127.0.0.1:8888/user/4data : map[string]interface{}{}resp, err : zdpgo_httprouter.SendJson(DELETE, targetUrl, data)if err ! nil {t.Error(err)}io.Copy(os.Stdout, resp.Body) } 总结 整个课程从如何连接MySQL讲起讲解gorm的增删改查常见操作然后结合REST API接口开发的知识开发一个用户管理系统的后端API服务层层递进学习路径平缓。 通过本套课程能帮你入门Go语言加gorm框架开发后端REST API接口服务的技术。 如果您需要完整的源码打赏20元即可。 人生苦短我用PyGo我是您身边的Python私教~
http://www.w-s-a.com/news/465826/

相关文章:

  • 网站角色权限wordpress 优化版
  • 购物网站ppt怎么做网络公司注册多少钱
  • 学做衣服上什么网站好贴吧高级搜索
  • 贵州 跨境电商网站建设做淘宝店铺有哪些好的网站
  • 广州正规网站制作公司网站搭建公司
  • ui设计零基础好学吗珠海网站建设优化推广
  • 网站开发多少费用火车头采集wordpress发布时间
  • 有没有做皮艺的网站教育培训网站建设ppt
  • 建设外贸商城网站制作如何建设景区旅游网站
  • 网站建设服务的具体条件怎么建设一个响应式网站
  • 做flash的网站wordpress设置前台投稿
  • 商务网站开发文档迅雷资源做下载网站
  • 无极磁铁网站如何把地图放到自己做的网站上
  • 青浦赵巷网站建设公司网站开发需求文档
  • 苏州网站建设的公司哪家好无锡网站制作那些
  • 装饰公司网站模板科技成果鉴定机构
  • 给公司做的东西放到私人网站上十堰为企业做网站的单位
  • 手机网站建设价钱手机自己做网站
  • 网站建设属于哪种公司电子商务查询网站
  • 工程建设标准强制性条文最新版本网站关键词排名优化应该怎么做
  • 网站网页设计内容品牌高端网站建设公司
  • 网站开发报价 福州中国建筑网官网手机版
  • 网站 图片 自动往右移专门做定制化的网站
  • 最好用的cms手机百度关键词排名 网站优化软件
  • 凉山州城乡规划建设局网站长沙网站建设哪家强
  • 广州网站开发创意设计公司企业自己怎么制作网站首页
  • 曲靖 曲靖网站建设软件(app)开发wordpress 没有远程发布
  • 官方网站开发与定制网站建设技术是干嘛的
  • 昆明网站建设工作室网站菜单导航怎么做的
  • 南京网站做的好的公司猪八戒网站做推广怎么样