首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
go语言实战
mmmmer
创建于2022-08-11
订阅专栏
go语言的进阶编程,orm,web框架等
等 1 人订阅
共24篇文章
创建于2022-08-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Protobuf 和代码生成辅助方法
Protobuf 和代码生成辅助方法 Protobuf 在元数据里面,说过 Protobuf 这种代码生成 的,无法利用 Tag 来指定列名 我们希望能够达成图二这种效果,而不是图一那种。 Proto
SELECT SubQuery (子查询)
SELECT SubQuery (子查询) 子查询可以用在很多地方,需要考虑的语法特性也非常多,这是一个比较复杂的功能。 语法 说明 SELECT(SELECT s2 FROM t1); 这是用作 S
SELECT JOIN
SELECT JOIN SQL 语法分析 JOIN 查询有点像我们的 Expression,就是可以 查询套查询无限套下去。 MySQL SQLite PostgreSQL 和 MySQL、SQLit
RawQuerier 原生查询
RawQuerier 原生查询 语法分析 就 MySQL SELECT 语句来说,ORM 框架能支持全部 语法吗? 显然不能,也不愿意支持全部 , 也不仅仅是 ORM 框架,大多数框架设计的时候,都要
AOP 方案
AOP 方案 AOP是什么? 面向切面编程(Aspect Oriented Programming)一种编程思想 ** OOP(面向对象编程)与AOP区别:** OOP针对业务处理过程的实体及其属性和
事务 API
事务 API 到目前为止,已经解决了增删改查的问题,是时候步入到事务阶段了,对于事务来说,核心就是要允许用户创建事务,然后 在事务内部执行增删改查。 开源实例 Beego ORM Beego ORM
DELETE Statement
DELETE Statement DELETE 应该是增删改查里最简单的语句了 语法分析 由于不同类型 db 包括 SQLite3、 MySQL、PostgreSQL 的 DELETE 最简单形态的语
UPDATE Statement
UPDATE Statement 语法分析 MySQL 语法 MySQL 的 UPDATE 语句有两种形态 : 更新单表的: 额外支持了 ORDER BY 和 LIMIT 更新多表的:只支持 WHER
SELECT 列和聚合函数
指定查询列 在 SELECT 语句中,我们可以指定列,严格来说,可以指定: 普通列 聚合函数 子查询 方案一: 直接传入字符串指定列 也就是说,我们需要一个指定列的接口。 最简单的情况下,我们就让用户
SELECT 结果集处理
创建 sql.D 很显然,sql.DB 应该和我们 ORM 层面上的 DB 概念绑定再一起。可以将我们的 DB 看作 是 sql.DB 的一个封装。 如果将 DB 看作启动的引擎,那么就要设计启动 D
元数据的构建
什么是元数据 orm 框架一般需要定义表的模型,然后模型与表生成映射关系,那么就一定少不了解析模型然后找到与之映射的数据库表,所以,元数据是解析模型获得的,这些元数据将被用于构建 SQL、执行校验,以
简单 SELECT 的构造
简单 SELECT sql 语句构造分析 要从orm转变为一个sql查询,那么首先第一步是先解决如何构造一个sql;这可以以参考不同orm的设计: Beego ORM Beego 通过鲜明的语义的构造
ORM 框架
一. 什么是 orm 框架? 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。ORM框架是连接数据库的桥
Go unsafe
什么是unsafe? Go的指针是类型安全的,但它有很多限制。Go 还有非类型安全的指针,这就是 unsafe 包提供的 unsafe.Pointer。在某些情况下,它会使代码更高效,当然,也更危险。
Go 反射
反射是指在程序运行期对程序本身进行访问和修改的能力,即可以在运行时动态获取变量的各种信息。Go的反射是通过接口的类型信息实现的,即反射建立在接口类型的基础上:当向接口变量赋予一个实体类型的时候,接口会
Go context
什么是context? Go 1.7 标准库引入 context,中文译作“上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。context
Go sync 包
1.1 Mutex 和 RWMutex 1、Mutex 可以看做是锁,而 RWMutex 则是读写锁。 一般的用法是将 Mutex 或者 RWMutex 和需要被保住的资源封装在一个结构体内。 如果有
Go channel
要想彻底理解 channel,要抓住几个点: channel 带不带缓冲 谁在发 谁在收 谁来关 以及,关了没? 1.1、缓冲 不带缓冲:要求收发两端都必须要有 goroutine,否则就是阻塞。 带
Go Web框架 AOP 方案
一. AOP是什么? AOP (Aspect Oriented Programming),面向切面编程。核心在于将横向关注点从业务中剥离出来。 横向关注点:就是那些跟业务没啥关系,但是每个业务又必须要
Go Web 模块 Session
一. Session 概述 HTTP 协议是无状态的。即每一个 HTTP 请求都是独立的,可以认为相互之间没有任何关系。但实际上在业务中,经常需要将某些请求归并为一组。最为直观的例子就是登录状态。一些
下一页