当前位置:
文档之家› Spring整合SpringMVC与MyBatis实现新闻发布系统
Spring整合SpringMVC与MyBatis实现新闻发布系统
(1) 主题表(topic):用于记录新闻主题。 (2) 新闻信息表(newsinfo):用于记录新闻相关信息。 (3) 新闻评论表(comment):用于记录新闻评论信息。 (4) 用户信息表(users):用于记录新闻前台的用户信息。 (5) 管理员信息表(admin):用于记录管理员的信息。 (6) 系统功能表(functions):用于记录系统可供使用的功能菜单。 (7) 权限表(powers):用于记录各管理员所拥有的系统功能。
14
24.6 创建DAO接口及动态提供类
在com.news.dao包中,依次创建数据访问层接口 TopicDAO.java、NewsinfoDAO.java、CommentDAO.java、 UserDAO.java、AdminDAO.java、FunctionDAO.java。
在这些DAO接口中基于MyBatis注解完成数据库的操作。
Spring整合Spring MVC与 MyBatis实现新闻发布系统
目录
1 系统概述及需求分析 2 数据库设计 3 系统环境搭建 4 系统配置文件 5 创建实体类 6 创建DAO接口及动态提供类 7 创建Service接口及实现类 8 开发新闻发布系统各功能模块
24.1 系统概述及需求分析
本章实现的是一个简易的新闻发布系统,主要分为两个部分: 前台与后台。在前台,未登录用户可以通过选择主题,分页查 看该主题的所有新闻标题,单击新闻标题可浏览新闻详细内容; 登录用户还可以发表评论。在后台,管理员可以对主题和新闻 进行管理,具体包括新闻管理、主题管理、评论管理和用户管 理。管理员在后台添加的新闻,前台的新闻列表会自动更新。
6
24.2 数据库设计
其中,主题表(topic)的字段说明如表24-1所示。 新闻信息表(newsinfo)的字段说明如表24-2所示。
7
24.2 数据库设计
新闻评论表(comment)的字段说明如表24-3所示。
用户信息表(users)的字段说明如表24-4所示。
8
24.2 数据库设计
管理员信息表(admin)的字段说明如表24-5所示。 系统功能表(functions)的字段说明如表24-6所示。
15
24.6 创建DAO接口及动态提供类
在接口TopicDAO中声明如下方法:
// 根据id查询新闻主题 Topic selectById(int id); // 查询所有新闻主题 List<Topic> selectAllTopic(); // 分页动态查询 List<Topic> selectByPage(Map<String, Object> params); // 根据条件动态查询主题总记录数 Integer count(Map<String, Object> params); // 添加主题 int save(Topic topic); // 修改主题 void edit(Topic topic);
9
24.2 数据库设计ຫໍສະໝຸດ 权限表(powers)的字段说明如表24-7所示。 创建数据表后,设计数据表之间的关系,如图24-4所示。
10
24.3 系统环境搭建
在第21章的21.8小节中,以用户登录为例详细介绍了Spring整合 Spring MVC与MyBatis,读者可参照完成新闻发布系统的框架搭建。 当然,读者也可以直接将21.8小节创建的项目springmvc_ssm复制一 份并重新命名为news,再导入到MyEclipse中。为避免部署重复,需 要修改项目的部署名称。修改过程如下:在MyEclipse中右击项目 news,依次选择“Properties MyEclipse Deployment Assembly”,将Web Context Root修改为“news”即可。然后将 jackson-annotations-2.6.0.jar、jackson-core-2.6.0.jar和jacksondatabind-2.6.0.jar这三个jar包复制到项目的WebRoot\WEB-INF\lib目 录中,用于支持Spring MVC实现自动Json格式数据转换。
11
24.3 系统环境搭建
新闻发布系统的目录结构如图24-5所示,其中com.news.pojo包用于存放 实体类, com.news.dao包用于存放数据访问层接口, com.news.dao.provider包用于存放构建动态SQL语句的类, com.news.service包用于存放业务逻辑层接口,com.news.service.impl包用 于存放业务逻辑层接口的实现类, com.news.controller包用于存放控制器 类,com.news.interceptor包用于存放登录权限验证的拦截器类。
16
24.6 创建DAO接口及动态提供类
在接口NewsinfoDAO中声明如下方法:
12
24.4 系统配置文件
Spring使用的配置文件为applicationContext.xml,Spring MVC使用的配置文件为springmvc.xml,这些配置文件的含义在 第21章的21.8小节中已具体介绍过,由于篇幅,在此不再赘述。
13
24.5 创建实体类
在com.news.pojo包中,依次创建实体类Topic.java、 Newsinfo.java、Comment.java、Users.java、Admin.java、 Functions.java、Powers.java、Pager.java和TreeNode.java 。
3
24.1 系统概述及需求分析
新闻发布系统中普通用户和管理员的用例图分别如图24-1和 图24-2所示。
4
24.1 系统概述及需求分析
根据系统需求分析,可以得到系统的模块结构,如图24-3所 示。
5
24.2 数据库设计
数据库设计是系统设计中非常重要的一个环节,数据是设计 的基础,直接决定系统的成败。如果数据库设计不合理、不完 善,将在系统开发中,甚至到后期的维护时,引起严重的问题。 根据系统需求,创建了7张表,如下所示: