springboot + mybatis + swagger2 代码规范

一. 简介

          之前用springboot + mybatis + swagger2搭了一套完整CRUD操作DEMO, 现在来写一下使用规范。

          项目的github地址为: https://github.com/1956025812/codedemo 。

          后期会持续优化,并添加一些通用组件或工具类,或者就是另外开文章,会在下面记录,该工程只保留最简单的CRUD。

          欢迎留言讨论。  

          项目down下来后要记得修改数据库连接信息哈~

          数据库建表脚本我放在最下面了。

 

二. 规范

 

2.1 目录划分

 

2.1.1 目录结构图

2.1.2 目录结构说明

com.yzx.codedemo.configuration

springboot集成框架需要@Configuration的配置文件,,如swagger, redisConfiguration  

com.yzx.codedemo.constant

常量类所在包,内部按模块划分,如user, order, 可以在外面放公共常量类CommonConstant

com.yzx.codedemo.controller

控制类所在包,内部按模块划分,可以在外部放BaseController

com.yzx.codedemo.entity

pojo类所在包,内部按模块划分

com.yzx.codedemo.interceptor

拦截器所在包,内部按模块划分

com.yzx.codedemo.mapper(java下)

Mapper接口所在包,内部按模块划分

com.yzx.codedemo.service

Service接口所在包,内部按模块划分

com.yzx.codedemo.service.xxx.impl

Service接口实现类所在包,内部按模块划分  xxx为子模块,如user

com.yzx.codedemo.util

工具类所在包

com.yzx.codedemo.vo

VO类所在包,内部按模块划分,可在外部放公用VO类,如PageVO, ResultVO

com.yzx.codedemo.mapper(Resource下)

Mapper.xml所在包, 内部按模块划分  

Generator.generatorConfig.xml(Resorce下)

逆向工程配置文件

 

2.2 代码规范

 

2.2.1 原则

             代码即注释, 统一风格, 以易读性为准则。

 

2.2.2 写法规范

            

 

2.3 sql规范

 

2.3.1 原则

              易读,高效,格式化。

 

2.3.2 写法规范

 

2.3.3 SQL写法调优   

 

2.4 swagger规范

 

2.4.1 原则

             清晰 简洁    

 

2.4.2 写法规范

    

 

三. 数据库建表脚本

3.1 建表脚本

/*
 Navicat Premium Data Transfer

 Source Server         : 
 Source Server Type    : MySQL
 Source Server Version : 50533
 Source Host           : 
 Source Schema         : yzx_demo

 Target Server Type    : MySQL
 Target Server Version : 50533
 File Encoding         : 65001

 Date: 20/07/2018 15:11:18
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for role
-- ----------------------------
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role`  (
  `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `state` int(11) NULL DEFAULT NULL COMMENT '0 删除 1 正常',
  `createtime` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user`  (
  `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `state` int(11) NULL DEFAULT NULL COMMENT '状态 0 删除 1 正常',
  `createtime` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Table structure for user_role
-- ----------------------------
DROP TABLE IF EXISTS `user_role`;
CREATE TABLE `user_role`  (
  `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `role_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `state` int(11) NULL DEFAULT NULL COMMENT '0 删除  1 正常',
  `createtime` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

SET FOREIGN_KEY_CHECKS = 1;

 

四. 整合记录

 

4.1 整合记录

4.1.1 整合activemq

A.  整合日期  20180720

B.  使用说明  springboot整合activemq

4.1.2 添加AOP切面处理日志

A. 整合日期 20180822

B. 使用说明  springboot + AOP日志

4.1.3 添加统一异常处理

A. 整合日期 20180823

B. 使用说明  springboot 统一异常处理

4.1.4 添加多数据源支持

A. 整合日期 20180823

B. 使用说明 springboot + mybatis + druid + 多数据源

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值