学生信息管理系统:SSM框架实现学生信息的增删改查
作者:互联网
一、项目概述:
该项目主要实现对学生信息的管理,通过学生信息管理系统能够进行学生信息的增加、查看,查询,删除等功能,实现学生管理工作的系统化和自动化。
该项目已经上传到github了,想看源码请移步:https://github.com/LazyTraveller/student_info_system (内含数据库脚本)
百度网盘:链接:https://pan.baidu.com/s/1UEv3C7H0WvrPXYt18D3flw
提取码:54yf
二、项目采用的技术:
该项目采用的是SSM框架技术,SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式。
(1)使用spring MVC负责请求的转发和视图管理。
(2)spring实现业务对象管理,mybatis作为数据对象的持久化引擎。
(3)mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
将整个系统划分为表现层,controller层,service层,DAO层四层。
(1)jsp(view)发送请求。
(2)通过核心控制器DispatcherServlet调用请求解析器:HandlendMapping对请求进行解析,通过映射关系匹配到Controller层。
(3)在控制层调用业务逻辑层(service),数据持久层(DAO)返回控制层,请求完成获取一个结果,设置一个要跳转的视图,(ModelAndView装载并传输数据,设置视图)。
(4)核心控制器调用 视图解析器:ViewResolver解析视图,匹配相应的页面实现页面跳转。
三、SSM框架配置文件的整合
配置文件 | 功能描述 |
web.xml | 配置了前端控制器,在SSM框架中,前端控制器起着最主要的作用 |
pom.xml | 这里使用maven来引入项目所需要的jar包,所以也就不需要手动来管理jar包了 |
log4j.properties | 固定配置,日志配置文件 |
spring-mvc.xml | 需要实现基本功能的配置 1 配置 <mvc:annotation-driven/> 2 配置 <context:component-scan base-package="com.springmvc.controller"/> // 配置controller的注入 3 配置视图解析器 |
applicationContext.xml | 1 配置 <context:component-scan base-package="com.rhzh"/> //自动扫描,将标注Spring注解的类自动转化Bean,同时完成Bean的注入 2 加载数据资源属性文件 3 配置数据源 三种数据源的配置方式 http://blog.csdn.net/yangyz_love/article/details/8199207 4 配置sessionfactory 5 装配Dao接口 6 声明式事务管理 7 注解事务切面
|
mybatis-config.xml | 配置pageHelper分页插件 |
四、各个功能模块实现的方法:
说明 | Entity实体 | dao (数据库持久层) | Service业务层层 | Controller (控制层) | View |
管理员登录 | Admin 构造方法、get、set方法 | AdminDao(findByNameAndPwd() )、AdminDao.xml(findByNameAndPwd() | adminService.authenticate() | LoginController中的login() | Login.jsp |
注销登录 | Admin 构造方法、get、set方法 |
|
| Logout()调用session.invalidate() | 返回 Login.jsp |
增加学生信息 | Student 构造方法、get、set方法 | StudentDao 中的方法addStudent()
| StudentService中 addStudent() | StudentController 中的createStudent() | addStudent.jsp |
删除学生信息 | Student 构造方法、get、set方法 | studentDao.delStudent(studentId) | studentService.delStudent(studentId) | StudentController 中的delete() | listStudentPage.jsp |
编辑学生信息 | Student 构造方法、get、set方法 | StudentDao 中的方法updateStudent | StudentService中 updateStudent() | StudentController 中的 update() | editStudent.jsp |
查看学生信息 | Student 构造方法、get、set方法 | StudentDao 中的 getStudent() | studentService.getStudent() | StudentController 中的 viewStudent() | viewStudent.jsp |
查询学生信息 | Student 构造方法、get、set方法 | studentDao.findByNameLike() | studentService.findByNameLike() | StudentController 中的 selectStudent | select.jsp |
分页显示 | Student 构造方法、get、set方法 | studentDao.findAllStudent() | studentService.findStudentList() | StudentController 中的 pageStudentList() | listStudentPage.jsp |
util (工具类) | 该包下存放一些开发中常用的工具类,如连接数据库操作 |
|
|
|
|
五、系统设计
(1)该系统实现的功能图如下:
(2)项目架构:
(3)数据库设计:
学生表:
No | 列名 | 属性 | 必须 | 主键 | 说明 | |
类型 | 大小 | |||||
1 | studentId | Bigint | 20 | Y | Y | 学生学号 |
2 | name | Varchar | 255 | Y |
| 学生姓名 |
3 | adminId | bigint | 20 | Y |
| 管理员工号 |
4 | sex | varchar | 60 | Y |
| 学生性别 |
5 | address | text | 255 | Y |
| 学生地址 |
6 | Cellphone | Varchar | 255 | Y |
| 学生电话 |
7 | dateCreate | timeStamp | 255 | Y |
| 创建日期 |
8 | Status | Tinyint | 4 | Y |
| 激活状态 |
管理员表:
No | 列名 | 属性 | 必须 | 主键 | 说明 | |
类型 | 大小 | |||||
1 | adminId | bigint | 20 | Y | Y | 管理员编号 |
2 | adminname | Varchar | 30 | Y |
| 管理员账号 |
3 | Password | Varchar | 60 | Y |
| 管理员密码 |
4 | | varchar | 80 | Y |
| 管理员邮箱 |
六、系统实现
1、登陆
登陆时调用LoginController,该控制器完成相应的逻辑操作(判断用户名、密码是否为空),并且调用相应的AdminDao数据库访问层的相应组件,完成登陆校验,然后将结果返回给视图层 ,视图层提供给用户,以界面的形式展示。
Login.jsp
LoginController控制器:
AdminService:
adminDao:
adminDao.xml:
2、系统主界面
listStudentpage.jsp:
StudentController:
StudentServive:
studentDao:
3、添加学生信息
addStudent.jsp:
StudentController:
StudentService:
StudentDao:
4、编辑学生信息
editStudent.jsp:
StudentController:
StudentService:
StudentDao:
5、删除学生信息
listStudentPage.jsp:
StudentController:
StudentService:
StudentDao:
6、查看学生信息
viewStudent.jsp:
StudentController:
StudentService:
StudentDao:
7、查找学生信息
Select.jsp:
StudentController:
StudentService:
StudentDao:
StudentDao.xml:
8、注销登录
当用户登录后,点击退出链接可以完成退出。退出成功后会到达登录页面!
退出后移除用户的Session,并且跳到系统的登陆页面
session.removeAttribute("adminname");
session.invalidate();
response.sendRedirect("login.jsp")
至此,该项目实现了学生信息的增删改查的功能了。
标签:StudentController,构造方法,StudentDao,改查,视图,学生,SSM,jsp,信息管理系统 来源: https://blog.csdn.net/weixin_42442713/article/details/111666476