1、核心注意点
1.1、数据库表的创建
-
采用下划线作为分隔符
比如博客的文章:BLOG_ARTICLE
字段如下:
ID
TITLE
CONTENT
PLAIN_TEXT_CONTENT
DIVISION
VIEWS
CREATED_BY
CREATED_TIME
LAST_MODIFIED_BY
LAST_MODIFIED_TIME -
基础属性,可以做到全局统一,命名一致,比如这几个
CREATED_BY
CREATED_TIME
LAST_MODIFIED_BY
LAST_MODIFIED_TIME
1.2、业务命名规范
命名规范很重要,可以说是一套标准,不一定要按照下面的规范来,但是最好整个项目中的命名要统一。
中文 | 英文 | 例子 |
---|---|---|
新增 | add+实体类名 | addArticle |
修改 | update+实体类名 | updateArticle |
查询一条 | query+实体类名 | queryArticle |
查询多条(分页+查询条件) | query+实体类名(复数) | queryArticles |
删除 | delete+实体类名 | deleteArticle |
查询数量(查询条件) | getCount | getCount |
1.3、分页
由于采用的Mysql数据库,所以借用了Mysql的内置属性limit
select * from limit 0,5 #从第0条开始,往后取5条
由于前端只会展示 { 第n页,每页m条 },所以会有一个换算关系,比如 { 第1页,每页5条 },对应的limit就是{ limit 0,5 }
我将这个转化逻辑封装了一下,且作为了一个单独的依赖,方便后续其他项目使用。
1.4、时间的处理
时间作为查询条件或者作为要保存的数值,是需要额外处理的。
因为前端传过来的时间一定是一个字符串,而我们实体类中的时间则是一个Date类型。所以这必然有一个转化逻辑。
好消息就是Spring帮我们处理好了这个问题,只需要在属性上添加这个一个注解就可以处理从前端到后端的传输了。
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
2、代码实现
-
业务代码实现 (后续将提交到github上)
-
分页逻辑实现 (后续将提交到github上)