前言
最近学习ssm框架,借此设计开发了一个小说网站,后端技术框架SpringMVC+thymeleaf+mybatis+mysql+redis,前端ui和部分代码参考了几个知名小说网站。
设计说明
前端页面功能设计
- 前端页面目录
页面路径 | 描述 | 优先级 |
---|---|---|
index.html | 主页 | 1 |
rangk.html | 排行 | 2 |
category.html | 分类 | 2 |
search.html | 搜索 | 2 |
book/bookDetail.html | 书本详情 | 2 |
book/bookView.html | 书本阅读 | 2 |
user/login.html | 用户登录 | 1 |
user/register.html | 用户注册 | 1 |
user/index.html | 用户首页 | 3 |
user/account.html | 账户 | 3 |
user/bookShelf.html | 书架 | 3 |
user/history.html | 用户历史 | 3 |
user/info.html | 用户资料 | 3 |
- 部分页面展示(电脑)
- 页面展示(H5)
后端模块设计
- 文件目录
路径 | 说明 | 路径 | 说明 |
---|---|---|---|
com.rightstar.bean | 实体类 | com.rightstar.bean.mapper | 实体类mybatis映射 |
com.rightstar.controller | 控制器 | com.rightstar.filter | 过滤器 |
com.rightstar.dao.service.mapper | DAO数据服务接口 | com.rightstar.dao.service.impl | DAO服务接口实现类 |
com.rightstar.util | 工具类 |
- 目录截图
- bean目录及service
数据库设计
表名 | 描述 | 表名 | 描述 |
---|---|---|---|
MyUser | 用户表 | Books | 小说表 |
UserInfo | 用户信息表 | Account | 账户表 |
chapter | 小说目录 | Recommend | 小说推荐表 |
Rank | 排行榜表 | Bookshelf | 书架 |
History | 观看历史表 |
- 初始化 init.sql文件
DROP DATABASE IF EXISTS shen;
CREATE DATABASE shen;
use shen;
DROP TABLE IF EXISTS myuser;
DROP TABLE IF EXISTS books;
DROP TABLE IF EXISTS userinfo;
DROP TABLE IF EXISTS account;
DROP TABLE IF EXISTS recommend;
DROP TABLE IF EXISTS ranktable;
DROP TABLE IF EXISTS bookshelf;
create table myuser(
id int primary key auto_increment,
name varchar(255) UNIQUE not null,
password varchar(255) not null,
note varchar(20),
UNIQUE INDEX userName(name)
)Engine=InnoDB default charset utf8;
create table userinfo(
id int primary key,
name varchar(255) UNIQUE not null,
userLevel int default 1 not null,
userExp int default 1 not null,
signTime varchar(255),
phone varchar(255),
email varchar(255),
qq varchar(255),
weixin varchar(255),
foreign key (id) references myuser (id) ON DELETE CASCADE ON UPDATE CASCADE,
foreign key (name) references myuser (name) ON DELETE CASCADE ON UPDATE CASCADE
)Engine=InnoDB default charset utf8;
create table account(
id int primary key,
money float not null default 0,
goldCoin int not null default 0,
foreign key(id) references myuser(id) ON DELETE CASCADE ON UPDATE CASCADE
)Engine=InnoDB default charset utf8;
-- -- 触发器连级创建account userinfo
create trigger after_insert_myuser after insert on myuser for each row
begin
insert into userinfo(id,name,signTime) values(new.id,new.name, DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'));
insert into account(id,money,goldcoin) values(new.id,0,0);
end;
create table books(
id int primary key,
bookType varchar(20) not null default '其他',
name varchar(255),
author varchar(50),
chepterNum int default 0,
info varchar(255),
imgURL varchar(255),
updateTime varchar(255),
viewNum int default 0,
downloadNum int default 0,
fileUrl varchar(255),
index bookTypeIndex(bookType)
)Engine=InnoDB default charset utf8;
create table chapter(
id int primary key ,
chapter LONGTEXT comment '存放书本json章节字符串',
foreign key(id) references books(id) ON DELETE CASCADE ON UPDATE CASCADE
)Engine=InnoDB default charset utf8;
create table recommend(
id int not null primary key auto_increment,
bookID int not null,
bookType varchar(20) not null default '其他',
foreign key(bookID) references books(id) ON DELETE CASCADE ON UPDATE CASCADE,
foreign key(bookType) references books(bookType) ON DELETE CASCADE ON UPDATE CASCADE
)Engine=InnoDB default charset utf8;
create table ranktable(
id int primary key auto_increment,
bookID int,
bookType varchar(20),
hotNum int not null default 0,
foreign key(bookID) references books(id) ON DELETE CASCADE ON UPDATE CASCADE,
foreign key(bookType) references books(bookType) ON DELETE CASCADE ON UPDATE CASCADE
)Engine=InnoDB default charset utf8;
create table bookshelf(
id int primary key auto_increment,
userID int,
bookID int not null,
bookType varchar(20) not null default '其他',
historyFlag int not null default 1,
foreign key(userID) references myuser(id) ON DELETE CASCADE ON UPDATE CASCADE,
foreign key(bookID) references books(id) ON DELETE CASCADE ON UPDATE CASCADE,
foreign key(bookType) references books(bookType) ON DELETE CASCADE ON UPDATE CASCADE
)Engine=InnoDB default charset utf8;
后言
源码开源啦 查看我的下一篇博客(*^▽^*)
神来免费小说网站(开源)IDEA源码+小说压缩文件