前言
Gin是Go语言的一套WEB框架,在学习一种陌生语言的陌生框架,最好的方式,就是用我们熟悉的思维去学。作为一名后端Java开发,在最初入门时,最熟悉的莫过于MVC分层结构,可以简单归纳成controller层,model层,dao层,而在SpringBoot框架里,大概也经常看到以下的分层结构
初始化项目
创建项目名称文件夹demo
go mod init demo
#引入依赖gin+gorm
go get -u github.com/gin-gonic/gin
go get -u github.com/jinzhu/gorm
go根目录底下,创建controller、service、dao、entity包,另外,还需要一个router包,参考下图
demo
├─common
│ └─rsp
├─controller
├─dao
├─entity
├─resources
├─routes
└─service
- resources资源目录创建一个application.yaml配置文件
- routes路由映射
- dao数据库连接层
- service业务实现层
- controller路由映射对应的controller层
- entity数据表结构对应的bean对象
- common公用包
#cmd批量创建多个文件夹
md common controller dao entity resources routes service
表结构
CREATE TABLE `sys_user` (
`id` int(50) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL COMMENT '用户名',
`nick_name` varchar(150) DEFAULT NULL COMMENT '昵称',
`avatar` varchar(150) DEFAULT NULL COMMENT '头像',
`password` varchar(100) DEFAULT NULL COMMENT '密码',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`mobile` varchar(100) DEFAULT NULL COMMENT '手机号',
`create_time` bigint(50) DEFAULT NULL COMMENT '更新时间',
`del_status` tinyint(4) DEFAULT '0' COMMENT '是否删除 -1:已删除 0:正常',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='用户表';
最后,代码已经上传到GitHub:https://gitee.com/purslane/demo.git