10 2021 档案
摘要:Gin 中使用 base64Captcha 生成图形验证 码以及分布式架构中配置 Captcha https://github.com/mojocn/base64Captcha captcha.mojotv.cn package models import ( "fmt" "github.com/m
阅读全文
摘要:Gin 大型企业级 MVC 架构详解 Gin 不是一个 MVC 的框架,所有的代码都可以写在 main.go 中。当我们的项目比较大的时候, 所有代码写在一个文件里面会带来很大问题,比如:没法实现多人协作开发,没法实现模块 化,没法实现代码共用等。为了使我们的项目更易于开发、维护、管理、升级,这个时
阅读全文
摘要:Gin 中使用 go-ini 加载.ini 配置文件 Github 地址:https://github.com/go-ini/ini 官方文档:https://ini.unknwon.io/ package main import ( "fmt" "os" "gopkg.in/ini.v1" ) f
阅读全文
摘要:GORM 中使用事务 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全执行,要么全不执行 禁用默认事务 为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它,这将获得大约 30%+ 性能提升 DB, err = go
阅读全文
摘要:Gin GORM 多表联查 package admin import ( "15_gin_demo15/models" "github.com/gin-gonic/gin" "gorm.io/gorm" ) type StudentController struct { BaseController
阅读全文
摘要:
阅读全文
摘要:Gin GORM 查询语句和原生SQL的使用 package admin import ( "gindemo15/models" "github.com/gin-gonic/gin" ) //测试的结构体 type NavJson struct { Id int `json:"id"` Title
阅读全文
摘要:Gin 中使用 GORM 操作 mysql 数据库 GORM 是 Golang 的一个 orm 框架。简单说,ORM 就是通过实例对象的语法,完成关系型 数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写。使用 ORM 框架可以让我们更方便的操作数
阅读全文
摘要:Mysql 锁 Mysql 中的锁有表级锁和行级锁,最常用的表级锁 1、添加读锁 可以并发读,但是不能并发写,读锁期间,没释放锁之前不能进行写操作。 使用场景:读取结果集的最新版本,同时防止其他事务产生更新该结果集 主要用在需要数据依存关系时确认某行记录是否存在,并确保没有人对这个记录进行 UP
阅读全文
摘要:Mysql 事务 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不 执行。 例子:张三账户转账转出 100 元到李四的账户 1、张三账户减去 100 元 2、李四账户增加 100 元 UPDATE user set balance = balance-100 WH
阅读全文
摘要:Mysql 索引 MySQL 索引的建立对于 MySQL 的高效运行是很重要的,索引可以大大提高 MySQL 的检索速度。 如果没有索引,执行查询时候必须从第一条记录开始,扫描整个表的记录,直到符合要求的记录。如 果有了索引,mysql 无需扫描任何记录即可顺序找到目标记录的位置。简单说来, 索引就
阅读全文
摘要:Mysql 常用关联查询(内连接) 一对多 查找一个文章并显示每个文章的分类 内连接 select article.id as id,article.title as title,article_cate.title as cate from article INNER JOIN article_c
阅读全文
摘要:基于 Redis 存储 Session 如果我们想将 session 数据保存到 redis 中,只要将 session 的存储引擎改成 redis 即可。 使用 redis 作为存储引擎的例子: 首先安装 redis 存储引擎的包 go get github.com/gin-contrib/ses
阅读全文
摘要:Gin 中的 Session session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 session 保存在服务器上。 Session 的工作流程 当客户端浏览器第一次访问服务器并发送请求时,服务器端会创建一个 session 对象,生成 一个类似于 key,v
阅读全文
摘要:Gin 中的 Cookie ● HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页 面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何 关系的。如果我们要实现多个页面之间共享数据的话我们就可以使用 Cookie 或者 Session 实
阅读全文
摘要:func main() { r := gin.Default() //配置模板文件的路径,放在路由配置的前面:加载templates下的所有文件 r.LoadHTMLGlob("templates/**/*") r.GET("/user/add", func(c *gin.Context) { c.
阅读全文
摘要:先写错误判断 if err != nil :return结束
阅读全文
摘要:定义模板 需要在上传文件的 form 表单上面需要加入 enctype="multipart/form-data" 单文件上传 r.POST("/admin/user/doUpload", func(c *gin.Context) { username := c.PostForm("username
阅读全文
摘要:Gin 中自定义 Model 如果我们的应用非常简单的话,我们可以在 Controller 里面处理常见的业务逻辑。但是如果 我们有一个功能想在多个控制器、或者多个模板里面复用的话,那么我们就可以把公共的功 能单独抽取出来作为一个模块(Model)。 Model 是逐步抽象的过程,一般我们会在 Mo
阅读全文
摘要:MVC架构 M:公共的方法 model V:模板 templates c:控制器 controller
阅读全文
摘要:Gin 中间件 Gin 框架允许开发者在处理请求的过程中,加入用户自己的钩子(Hook)函数。这个钩子函 数就叫中间件,中间件适合处理一些公共的业务逻辑,比如登录认证、权限校验、数据分页、 记录日志、耗时统计等。 通俗的讲:中间件就是匹配路由前和匹配路由完成后执行的一系列操作 ctx.Next()调
阅读全文
摘要:controllers 控制器 -admin -userController.go //实现方法的继承 type UserController struct{ } //(con UserController):表示把当前的函数挂载到结构体中,实现子结构体可以访问到父类中 //UserIndex:提供
阅读全文
摘要://AdminRouters:首字母大写,共有的,可以被其他调用 func AdminRouters() { }
阅读全文
摘要:存储内容大小一般支持5M B左右(不同浏览器可能还不一样) 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。 相关API: 1.xxxxxStorage.setItem('key', 'value'); 该方法接受一个键和
阅读全文
摘要:GET POST 以及获取 Get Post 传值 package main import ( "encoding/xml" "fmt" "github.com/gin-gonic/gin" "html/template" "net/http" "time" ) type userInfo stru
阅读全文
摘要:使用了一段时间postman和apipost之后,明显感受到,对于缓存的处理,postman做的更好,果断弃坑apipost,使用免费的postman,表示真香
阅读全文
摘要:https://blog.csdn.net/lk2684753/article/details/99680892
阅读全文
摘要:所谓热加载就是当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中 是非常便利的,可以快速进行代码测试,省去了每次手动重新编译 beego 中我们可以使用官方给我们提供的 bee 工具来热加载项目,但是 gin 中并没有官方提 供的热加载工具,这个时候我们要实现热加载就可以借助第三方的
阅读全文
摘要:前后端分离的node: 博客开发(nest)API: https://www.bilibili.com/video/BV1eh411B7NL?from=search&seid=17585415330193203797&spm_id_from=333.337.0.0 express+vue前后端分离项
阅读全文
摘要:1.设置用户名和密码 git config --global user.name "username" git config --global user.email useremail@qq.com --注意邮箱没有双引号 2.查看用户名和密码 git config user.name git co
阅读全文
摘要:1、具体步骤 配置npm 淘宝镜像: npm config set registry https://registry.npm.taobao.org 第一步(仅第一次执行):全局安装@vue/cli。 npm install -g @vue/cli 第二步:切换到你要创建项目的目录,然后使用命令创建
阅读全文
摘要:1、非单文件组件: 一个文件中包含有n个组件。 基本使用: <!-- Vue中使用组件的三大步骤: 一、定义组件(创建组件) 二、注册组件 三、使用组件(写组件标签) 一、如何定义一个组件? 使用Vue.extend(options)创建,其中options和new Vue(options)时传入的
阅读全文
摘要:1、mounted (this指向vm) Vue完成模板的解析并把初始的真实DOM元素放入页面后(挂载完毕)调用mounted 常用的生命周期钩子: 1.mounted: 发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。 2.beforeDestroy: 清除定时器、
阅读全文
摘要:我们学过的指令: v-bind : 单向绑定解析表达式, 可简写为 :xxx v-model : 双向数据绑定 v-for : 遍历数组/对象/字符串 v-on : 绑定事件监听, 可简写为@ v-if : 条件渲染(动态控制节点是否存存在) v-else : 条件渲染(动态
阅读全文