1.数据库设计。
1.1.E-R图。
1.2.管理员表。
字段名 |
数据类型 |
允许为空 |
备注 |
id |
int(11) |
NO |
|
create_time |
datetime |
YES |
创建时间 |
description |
varchar(1000) |
YES |
备注字段 |
is_del |
tinyint(2) |
NO |
删除标识(1删除,0未删除) |
last_modified_date |
datetime |
YES |
最近修改时间 |
status |
tinyint(2) |
NO |
账号状态(1启用,0禁用) |
last_login_ip |
varchar(64) |
YES |
最近登录IP地址 |
login_num |
int(11) |
YES |
登录次数 |
nick_name |
varchar(64) |
NO |
管理员昵称 |
password |
varchar(64) |
NO |
管理员登录密码 |
username |
varchar(64) |
NO |
管理员登录名 |
1.3.广告表。
字段名 |
数据类型 |
允许为空 |
备注 |
id |
int(11) |
NO |
|
create_time |
datetime |
YES |
创建时间 |
description |
varchar(1000) |
YES |
备注字段 |
is_del |
tinyint(2) |
NO |
删除标识(1删除,0未删除) |
last_modified_date |
datetime |
YES |
最近修改时间 |
status |
tinyint(2) |
NO |
账号状态(1启用,0禁用) |
adv_name |
varchar(255) |
NO |
广告名称 |
adv_type |
tinyint(2) |
NO |
广告类型 |
adv_url |
varchar(255) |
NO |
链接地址 |
click_num |
int(11) |
YES |
点击量 |
is_blank |
tinyint(2) |
YES |
是否新窗口打开 |
position_id |
int(11) |
YES |
所属广告位ID |
reorder |
int(11) |
YES |
排序 |
thumb |
varchar(255) |
NO |
广告图片 |
1.4.文章表。
字段名 |
数据类型 |
允许为空 |
备注 |
id |
int(11) |
NO |
|
create_time |
datetime |
YES |
创建时间 |
description |
varchar(1000) |
YES |
备注字段 |
is_del |
tinyint(2) |
NO |
删除标识(1删除,0未删除) |
last_modified_date |
datetime |
YES |
最近修改时间 |
status |
tinyint(2) |
NO |
账号状态(1启用,0禁用) |
abstracts |
varchar(1000) |
YES |
文章简介 |
author |
varchar(64) |
YES |
文章作者 |
click_num |
int(11) |
YES |
点击次数 |
content |
text |
YES |
文章内容 |
is_recommend |
tinyint(2) |
YES |
是否为推荐文章 |
is_top |
tinyint(2) |
YES |
是否为置顶文章 |
keywords |
varchar(1000) |
YES |
文章关键字 |
source |
varchar(64) |
YES |
文章来源 |
thumb |
varchar(128) |
YES |
文章缩略图 |
title |
varchar(256) |
NO |
文章标题 |
channel_id |
int(11) |
NO |
文章所属栏目 |
1.5.栏目表。
字段名 |
数据类型 |
允许为空 |
备注 |
id |
int(11) |
NO |
|
create_time |
datetime |
YES |
创建时间 |
description |
varchar(1000) |
YES |
备注字段 |
is_del |
tinyint(2) |
NO |
删除标识(1删除,0未删除) |
last_modified_date |
datetime |
YES |
最近修改时间 |
status |
tinyint(2) |
NO |
账号状态(1启用,0禁用) |
channel_name |
varchar(64) |
NO |
栏目名称 |
icon |
varchar(64) |
YES |
icon样式 |
is_blank |
tinyint(2) |
YES |
是否新窗口弹出 |
parent_id |
int(11) |
YES |
父级栏目ID |
reorder |
int(11) |
NO |
排序 |
uri |
varchar(64) |
YES |
链接地址 |
1.6.评论表。
字段名 |
数据类型 |
允许为空 |
备注 |
id |
int(11) |
NO |
|
create_time |
datetime |
YES |
创建时间 |
description |
varchar(1000) |
YES |
备注字段 |
is_del |
tinyint(2) |
NO |
删除标识(1删除,0未删除) |
last_modified_date |
datetime |
YES |
最近修改时间 |
status |
tinyint(2) |
NO |
账号状态(1启用,0禁用) |
content |
varchar(256) |
NO |
评论内容 |
parent_id |
int(11) |
YES |
父级评论ID |
article_id |
int(11) |
NO |
所属文章 |
from_user_id |
int(11) |
NO |
评论用户 |
to_user_id |
int(11) |
NO |
被评论用户 |
1.7.友情链接表。
字段名 |
数据类型 |
允许为空 |
备注 |
id |
int(11) |
NO |
|
create_time |
datetime |
YES |
创建时间 |
description |
varchar(1000) |
YES |
备注字段 |
is_del |
tinyint(2) |
NO |
删除标识(1删除,0未删除) |
last_modified_date |
datetime |
YES |
最近修改时间 |
status |
tinyint(2) |
NO |
账号状态(1启用,0禁用) |
is_blank |
tinyint(2) |
YES |
是否新窗口打开 |
logo |
varchar(255) |
YES |
友情链接LOGO |
reorder |
int(11) |
YES |
排序 |
title |
varchar(255) |
NO |
友情链接标题 |
url |
varchar(255) |
YES |
友情链接地址 |
1.8.用户表。
字段名 |
数据类型 |
允许为空 |
备注 |
id |
int(11) |
NO |
|
create_time |
datetime |
YES |
创建时间 |
description |
varchar(1000) |
YES |
备注字段 |
is_del |
tinyint(2) |
NO |
删除标识(1删除,0未删除) |
last_modified_date |
datetime |
YES |
最近修改时间 |
status |
tinyint(2) |
NO |
账号状态(1启用,0禁用) |
login_secret |
varchar(64) |
YES |
登录安全码 |
nick_name |
varchar(64) |
YES |
昵称 |
password |
varchar(64) |
NO |
登录密码 |
sex |
varchar(10) |
NO |
性别 |
thumb |
varchar(64) |
YES |
用户头像 |
user_email |
varchar(32) |
YES |
用户邮箱 |
user_phone |
varchar(20) |
NO |
用户联系电话 |
user_qq |
varchar(32) |
YES |
用户QQ号 |
username |
varchar(64) |
NO |
登录账号 |
2.业务流程图。
3.后端代码分层及数据库表结构自动生成。
打开eclipse,以maven父子工程的方式新建如下项目及包结构。其中blog-core子模块用作编写核心业务逻辑,blog-web子模块用作web系统后端服务启动(内置tomcat)。
application.properties配置如下:
server.port=8090
spring.application.name=blog-web
# 数据库基本配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xda?useSSL=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=****
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database=MYSQL
# 显示后台处理的SQL语句
spring.jpa.show-sql=true
# 自动检查实体和数据库表是否一致,如果不一致则会进行更新数据库表
spring.jpa.hibernate.ddl-auto=update
#默认支持文件上传
multipart.enabled=true
spring.http.multipart.enabled =true
spring.http.multipart.file-size-threshold =0
# 上传文件的临时目录
spring.http.multipart.location=D:/Uploads
# 上传文件的相对访问地址
upload.file.location.relative=/Uploads
# 最大支持文件大小
spring.http.multipart.max-file-size =100MB
# 最大支持请求大小
spring.http.multipart.max-request-size =100Mb
#配置允许跨域的IP白名单列表
cors.config.urls=http://localhost:4200,http://172.22.163.189:4200
实体自动生成表配置: