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

猜你喜欢

转载自blog.csdn.net/qq_35206261/article/details/81067995