一. 简介
之前用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