开源项目笔记

81 阅读4分钟

JeecgBoot

编码规范

代码格式化

  1. IDEA安装插件(在线安装 Adapter for Eclipse Code Formatter)
  2. 使用代码格式化模版文件(下载地址) 提取码:6siv

image.png

代码检查插件

1.IDEA安装插件(在线安装 Alibaba Java Coding Guidelines)

代码规范

1.TODO规范,记录缺陷点并及时纠正。代码有缺陷或者未完善的地方增加TODO标记(前后端适用)

建表规范

表设计规范

  • 1.主键必须为:ID,类型 [Long(19)] 唯一索引,因为历史原因暂时用String(32)类型
  • 2.外键字段命名:{【关联表名】去掉业务前缀}+“_”+ {关联字段名},例如:order_main_id
  • 3.区分位: iz_* [String(1)] 1表示是 0表示否,(禁用 is_,代码生成实体有问题 )
  • 4.状态位: *_status [String(1-2)] 状态字段必须加注释说明每个值代表含义
  • 5.字段命名,多单词采用下划线分隔 例如:school_id
  • 6.索引命名: 主键索引命名为:pk_表名缩写_字段名(索引要求全库唯一,为兼容多数据库);
    唯一索引命名为:uniq_表名缩写_字段名 或  uk_表名缩写_字段名
    普通索引命令为: idx_表名缩写_字段名(表名缩写: 下划线分隔单词首字母组合)
  • 7.区分、状态、类型字段,尽量用String类型,避免数字类型的一些问题;如果需要考虑性能建议用int类型 (禁用tinyint类型,需要兼容其他数据库);
  • 8.字段默认值(字段尽量不设置默认值,采用编码方式加默认值) 因为在转库的过程中,不同数据库会有丢失默认值的情况

表业务前缀 和 建表标准字段

  • 1.表命名必须带上业务前缀:例如 sys_开头(系统表前缀)
  • 2.所有的表加字段:所属部门,用于部门数据权限
  • 3.所有的表加字段:创建时间,创建者,最后更新时间,更新人
  • 4.逻辑删除字段,del_flag [int(1)],1表示删除 0表示未删除 ,可选择加
  • 5.乐观锁字段, update_count[Integer],可选择加
  • 6.字符串类型字段,varchar类型长度不允许超过1000(过长转库会变类型)
  • 7.大文本尽量少用,字段类型采用text、longtext,禁用blob系列类型(必须用要确认)

帮助脚本

ALTER TABLE `表名` ADD COLUMN `create_by` varchar(32) NULL COMMENT '创建人', ADD COLUMN `create_time` datetime NULL COMMENT '创建时间' AFTER `create_by`, ADD COLUMN `update_by` varchar(32) NULL COMMENT '修改人' AFTER `create_time`, ADD COLUMN `update_time` datetime NULL COMMENT '修改时间' AFTER `update_by`, ADD COLUMN `del_flag` int(1) NULL COMMENT '0表示未删除,1表示删除' AFTER `update_time`;

其他说明

  • 表字段注释,每个字段必须设置注释说明;
  • 表字段注释,状态类型的字段必须说明取值规则(比如性别sex取值规则)
    比如:'性别 0男,1女'
  • 索引,查询频率高的字段加索引(单字段索引 、组合索引、唯一索引);
  • 状态、类型字段,尽量用字符串varchar类型1-2长度,少用int类型,避免不必要的问题。

上线发布

JAR部署方案

后端项目打jar包

  1. 切换Maven Project中的环境模式(Profiles)
  2. 通过xxx-module-system模块打包,依次执行Maven的clean及install命令。在xx-modle-system下的xx-system-start的target目录中拿到生成的jar包

通过jar方式启动后台

可通过以下命令启动项目:

Window启动命令: java -jar xx-system-start-{版本号}.jar

Linux下后台进程启动命令: nohup java -jar xx-system-start-{版本号}.jar >catalina.out 2>&1 &

关掉项目: 
ps -ef|grep java
kill 进程号

前端Vue2打包

  1. 修改接口调用的地址配置(对应好自己的后端服务)

image.png 2. build打包(使用build命令打包对应的前端)

image.png build完成后会生成一个dist的目录 3. Nginx部署前端项目(把dist下的代码拷贝到nginx安装目录下html目录中即可) 4. 前端Nginx配置监听80端口

server {
		listen       80;
		server_name  前端访问域名;
		#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
		location / {
			root   html;
			index  index.html index.htm;
			if (!-e $request_filename) {
				rewrite ^(.*)$ /index.html?s=$1 last;
				break;
			}
		}
	}
  1. http://域名或IP 访问项目