# schoolInfoMgmtSys **Repository Path**: ykuo/schoolInfoMgmtSys ## Basic Information - **Project Name**: schoolInfoMgmtSys - **Description**: 使用JavaEE框架的学校信息管理系统 使用MySQL数据库 大三下JavaEE大作业 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-21 - **Last Updated**: 2025-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Spring-MVC, MyBatis, Spring, Tomcat ## README # schoolInfoMgmtSys #### 介绍 使用JavaEE框架的学校信息管理系统 使用MySQL数据库 使用jsp作为前端 使用ajax实现前后端异步通信 大三下的JavaEE大作业 #### 完成功能 1. 学生信息录入 2. 教师信息录入 3. 课程信息录入 4. 学生选课操作 5. 教师授课操作 6. 学生课程成绩 #### 软件架构 * 软件架构说明 * SSM + MySQL * 数据库使用数据库课设的表(改为英文) * (日期数据类型改为date) * (选课表、授课表:学年、学期的数据类型改为char) * (去除所有外键) 1. 学生表:学号 姓名 性别 所在系 专业 班号 (性别:男、女) 2. 教师表:教师号 教师名 性别 职称 学历 出生日期 所在部门 (性别:男,女;职称:助教,讲师,副教授,教授;学历:本科,硕士,博士,博士后) 3. 课程表:课程号 课程名 学分int 开课学期int 课程性质 授课时数int 实践时数int 平时成绩比例float (全为char类型)(学分:1~8;开课学期:1~12;课程性质;必修、选修;授课时数:<=68;实践时数:<=68;平时成绩比例:小数点1位) 4. 选课表:学号 课程号 选课学年int 选课学期int (全部非空)(选课学期:1or2) 5. 授课表:课程号 教师号 学年int 学期int 主讲时数int 辅导时数int 带实验时数int (全为char类型)(学期:1or2) 6. 成绩表:学号 课程号 考试次数int 平时成绩float 考试成绩float 总评成绩float (全为char类型)(考试次数:1~3)(平时成绩、考试成绩和总评成绩<100) #### SSM层级关系 1. 持久层:Dao层(Mapper层)(属于Mybatis) 功能:与数据库交互 实现: domain包创建数据表的实体类 dao包创建数据库访问接口、sql语句xml配置文件(自动注入@Param将数据注入sql语句) 2. 业务层:Service层(属于Spring) 功能:业务逻辑设计 实现: service包创建业务接口(数据库访问方法) service.impl包实现业务接口(调用Dao层方法) 3. 控制层:Controller层(Handler层)(属于SpringMVC) 功能:业务流程控制 实现: controller包创建控制类,@Controller标记控制类 控制类调用Service层接口,使用@Autowired注入得到实现类,再调用方法 控制类创建返回ModelAndView的方法,@RequestMapping注解过滤请求,属性: (地址请求的映射路径 value/path, 支持的http的请求方式 method, 请求中必须包含规定参数 params, 请求中必须包含指定header值如localhost:8080 header) 返回ModelAndView的方法: addObject(attributeName, attributeValue)方法给url传参数 setViewName(jsp页面)方法设置视图名,跳转到指定页面 接受前端ajax异步请求,配合实现jsp局部刷新 将数据通过@ResponseBody注解打包成json格式传输给前端 4. 视图层:View层(属于SpringMVC) 功能:展示jsp页面,jsp发送请求,controller接收请求、处理、返回,jsp回显数据 #### SSM开发步骤 1. 创建数据库:schoolInfo.db 2. 创建数据表:学生表、教师表、课程表、成绩表、选课表、授课表 3. 定义包结构 4. 配置maven pom.xml 5. 配置web.xml 6. 配置jdbc.properties 7. 配置applicationContext.xml 8. 配置springmvc.xml 9. 配置mybatis.xml 10. 创建数据表实体类 11. 创建数据表Dao接口和sql映射xml文件 12. 创建业务层Service接口和实现类 13. 创建前端jsp 14. 创建控制层Controller类 15. 完成一个页面的功能 16. 其他页面功能类似,搬砖 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)