MyBatis博客系统项目搭建准备

一.类型背景

  1996年初,由于
Cameron与Jesse共同爱戴的博客站点列表既幽默又简单阅读,吸引了广大人的眼珠。在那种境况下,PeterMerholz宣称:“这么些奇异事物必将唤起半数以上人的专注。作为以后的2个常用词语,web-blog将不可防止地被简称为blog,而那二个编写网络日志的人,也就理直气壮地改成blogger“博客”。那意味着博客被业内定名。

  二月份,Pyra发表了Blogger网站,Groksoup也投入运维,使用那几个公司所提供的简易的依照互连网的工具,博客站点的数额终归出现了一种爆炸性增加。一九九八年末,软件研发商戴夫Winer向大家推荐EditTh isPage网站,JefA .Campbell发布了Velocinews网站。所有的那些服务都避防费的,他们的目的也很显眼:让更加多的人成为博客,来网上发布意见和见地。

  随着Blogging快速伸张,它的目的与最初的浏览网页心得已相去甚远。近年来互连网上数以千计的
Bloggers公布和张贴Blog的目标有很大的距离。不过,由于联系形式比电子邮件、探讨群组更简短和简单,Blog已改成家庭、集团、部门和团体之间更为流行的关联工具,因为它也渐渐被采纳在店堂中间网络(Intranet)中。如今,BSP商户风靡云涌,已有数十家大型博客站点。目前,国内卓越的国语博客网有:博客园博客,微博博客,中国博客网,腾讯博客,博客中国等。

二.博客系统功用分析

  1.序列提供非注册用户注册、浏览其余已登记用户发布的日记、日志分类消息、图片详情、相册消息,查看日志评论等成效。

  2.除了提供非注册用户的具备功效外,系统向已注册用户提供后台管理效果,注册用户可以浏览管理个人公布的日记、浏览和管理个人相册、浏览和管制评论、浏览和管制个人新闻、浏览和治本常用链接、浏览和改动个人登录密码、安全退出系统等功能。

  3.系统所有日志可视化文本编辑功效,使用百度编辑器对日记内容展开录入,可以方便的依照本人的布局格局展现日志内容。

三.博客系统架构

1.意义列表

MyBatis 1

 

 

MyBatis 2

2.博客系统架构

2.1 mvc架构

  MVC框架是由Model模型(JavaBean),View视图(Jsp) 和
Controller控制器(Servlet)构成:

  (1).Model:承载数据,并对用户提交请求举行计算的模块。其分为两类,一类称为数据承载Bean,一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门承载业务数据的。而工作处理Bean则是指Service或Dao对象,专门用来拍卖用户提交请求的。

  (2).View:为用户提供利用界面,与用户一贯进行互动。

  (3).Controller:用于将用户请求转载给相应的Model举办拍卖,并将拍卖Model的测算结果向用户提供对应响应。

                           MyBatis 3

 

 

2.2 ssm框架

  SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis多少个开源框架整合而成,常作为数据源较简单的web项目标框架。

  (1).SpringMVC:作为View层的兑现者,已毕用户的乞请接收效果。SpringMVC的Controller作为整个应用的控制器,落成用户请求的中转及对用户的响应

  (2).MyBatis:作为 Dao层的落到实处者,达成对数据库的增、删、改、查作用。

  (3).Spring:以任何应用大管家的地方出现。整个应用中持有的Bean的生命周期行为,均由Spring来保管。即所有应用中有着目的的创办、初阶化、销毁,及对象间事关关系的护卫,均由Spring举行管理。

 

MyBatis 4

四.数据库设计

1.规划需求及要求

  按照需求,共设计了7张表,分别为t_user(用户表),t_album(相册表)
,t_category(日志分类表),t_comment(日志评论表),t_journal(日志表),t_link(常用链接表),t_photo(图片详情表)那7张表的宏图严厉根据数据库的标准,尽或者符合符合以下要求。

  (1)数据的完整性:保险数据库中存取数据准确、完整、数据更新的一致性。

  (2)数据的结构化:设计层次显明,分布合理。在满意系统所需效用的前提下,在设计时可以设想基本表的个数越少越好,主键的个数越少越好,字段个数越少越好。

  (3)缩小数量冗余:一方面数据库系统应该尽量裁减数据冗余,节省存储空间。另一方面,还要考虑适当的冗余,以拉长系统的运维  
 速度和后台逻辑开发速度。

 2.数据库架构

MyBatis 5

3.数目库表结构

(1)t_user 用户表

MyBatis 6

MyBatis 7MyBatis 8

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户编号',
  `username` varchar(64) NOT NULL COMMENT '用户名',
  `password` varchar(128) NOT NULL COMMENT '密码',
  `nickname` varchar(255) DEFAULT NULL COMMENT '昵称',
  `email` varchar(64) DEFAULT NULL COMMENT '注册邮箱',
  `sign` varchar(255) DEFAULT NULL COMMENT '个性签名',
  `name` varchar(36) DEFAULT NULL COMMENT '真实姓名',
  `sex` varchar(12) DEFAULT NULL COMMENT '性别',
  `phonenumber` varchar(36) DEFAULT NULL COMMENT '手机号码',
  `address` varchar(64) DEFAULT NULL COMMENT '家庭住址',
  `upload` varchar(64) DEFAULT NULL COMMENT '头像',
  `registime` date DEFAULT NULL COMMENT '注册时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

用户表sql

 

 (2)t_journal 日志表

MyBatis 9

MyBatis 10MyBatis 11

CREATE TABLE `t_journal` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '日志id',
  `title` varchar(128) DEFAULT NULL COMMENT '日志标题',
  `categoryid` int(11) DEFAULT NULL COMMENT '日志所属日志分类id',
  `content` text COMMENT '日志内容',
  `createtime` date DEFAULT NULL COMMENT '日志创建时间',
  `userid` int(11) DEFAULT NULL COMMENT '日志所属用户id',
  `readtimes` int(11) DEFAULT NULL COMMENT '日志阅读次数',
  `commentime` int(11) DEFAULT NULL COMMENT '日志评论次数',
  `abstract` varchar(255) DEFAULT NULL COMMENT '日志摘要',
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  KEY `categoryid` (`categoryid`),
  CONSTRAINT `t_journal_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`),
  CONSTRAINT `t_journal_ibfk_2` FOREIGN KEY (`categoryid`) REFERENCES `t_category` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

日志表sql

 (3)t_category 日志分类表

MyBatis 12

MyBatis 13MyBatis 14

CREATE TABLE `t_category` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '日志分类id',
  `categoryname` varchar(64) DEFAULT NULL COMMENT '日志分类名称',
  `userid` int(11) DEFAULT NULL COMMENT '日志分类所属用户id',
  `count` int(11) DEFAULT NULL COMMENT '日志分类下日志个数',
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  CONSTRAINT `t_category_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

日志分类表sql

(4)t_album 相册表,分类管理图片

MyBatis 15

MyBatis 16MyBatis 17

CREATE TABLE `t_album` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '相册id',
  `userid` int(11) DEFAULT NULL COMMENT '相册所属的用户id',
  `count` int(11) DEFAULT NULL COMMENT '该相册下照片的个数',
  `name` varchar(255) DEFAULT NULL COMMENT '相册名称',
  `createtime` date DEFAULT NULL COMMENT '创建相册的时间',
  `describe` text COMMENT '相册描述',
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  CONSTRAINT `t_album_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

相册表sql

(5)t_comment 评论表

MyBatis 18

MyBatis 19MyBatis 20

CREATE TABLE `t_comment` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '评论id',
  `content` text COMMENT '评论内容',
  `userid` int(11) DEFAULT NULL COMMENT '发表评论用户id',
  `journalid` int(11) DEFAULT NULL COMMENT '发表评论所属日志分类id',
  `createtime` date DEFAULT NULL COMMENT '发表评论的时间',
  `state` int(11) DEFAULT NULL COMMENT '评论状态 0审核通过 1审核不通过',
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  KEY `journalid` (`journalid`),
  CONSTRAINT `t_comment_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`),
  CONSTRAINT `t_comment_ibfk_2` FOREIGN KEY (`journalid`) REFERENCES `t_journal` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

评论表sql

 (6)t_photo 图片详情表

MyBatis 21

MyBatis 22MyBatis 23

CREATE TABLE `t_photo` (
  `id` int(11) NOT NULL COMMENT '图片id',
  `describe` varchar(255) DEFAULT NULL COMMENT '图片描述',
  `path` varchar(255) DEFAULT NULL COMMENT '图片访问地址',
  `createtime` date DEFAULT NULL COMMENT '图片上传时间',
  `userid` int(11) DEFAULT NULL COMMENT '图片所属用户id',
  `albumid` int(11) DEFAULT NULL COMMENT '图片所属相册id',
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  KEY `albumid` (`albumid`),
  CONSTRAINT `t_photo_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`),
  CONSTRAINT `t_photo_ibfk_2` FOREIGN KEY (`albumid`) REFERENCES `t_album` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

图形详情表sql

(7)t_MyBatis,link 常用链接表

MyBatis 24

MyBatis 25MyBatis 26

CREATE TABLE `t_link` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '常用链接id',
  `name` varchar(128) DEFAULT NULL COMMENT '常用链接名称',
  `url` varchar(128) DEFAULT NULL COMMENT '常用链接url地址',
  `userid` int(11) DEFAULT NULL COMMENT '常用链接所属用户',
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  CONSTRAINT `t_link_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

常用链接表sql

 

网站地图xml地图