SSM入门小项目

您所在的位置:网站首页 SSM课设项目 SSM入门小项目

SSM入门小项目

2024-06-19 14:59| 来源: 网络整理| 查看: 265

SSM入门小项目----学生信息管理系统

学习了SSM后,自己想动手写个小项目,巩固一下。选择了比较简单的学生信息管理系统,项目比较简单,包括的功能有:登录、学生信息的增删改查、分页(前端实现)。

本项目前后端分离,由于本人较菜,所以前端是直接拿别人写好的来修改使用的(已征得原作者同意),前端原文链接:https://blog.csdn.net/qq_43198568/article/details/104432485

完整代码在GitHub上:https://github.com/Fjz-Kuroko/StudentManagePro

文章目录 SSM入门小项目----学生信息管理系统完整代码在GitHub上:[https://github.com/Fjz-Kuroko/StudentManagePro](https://github.com/Fjz-Kuroko/StudentManagePro) 效果图登录页面登录后进入的页面(主页)新增更新 搭建项目目录结构具体代码登录增加删除、修改、查询 缺点、不足优点写在后面

效果图 登录页面

在这里插入图片描述

登录后进入的页面(主页)

在这里插入图片描述

新增

在这里插入图片描述

更新

在这里插入图片描述 前端效果可以去前端原文看,基本差不多,这里不过多展示。

下面开始进入正文

搭建项目

IDE:IDEA,运行环境:Tomcat 8.5 + Windows10 本项目使用Maven + Spring + SpringMvc + MyBatis开发,如果有同学不懂怎么使用Maven搭建SSM框架的话,可以参考我上一篇博客:https://blog.csdn.net/weixin_44215175/article/details/108642595

目录结构

其中以Test开头的是为了测试使用,可以不用理会 在这里插入图片描述

具体代码 登录 新建一个数据表Login,我的比较简单,只包含三个属性:username、email、password在entity包中新建Login实体类 package pers.kuroko.entity; public class Login { private String username; private String email; private String password; public Login() { } public Login(String username, String email, String password) { this.username = username; this.email = email; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 在mapper(dao)包中新建LoginMapper.java接口以及loginMapper.xml的配置文件

LoginMapper.java

public interface LoginMapper { public int doLogin(Login login); }

loginMapper.xml

select count(*) from login where username = #{username} and password = #{password} 在service包中新建LoginService.java接口,并且新建LoginServiceImpl.java实现类 public interface LoginService { int doLogin(Login login); } public class LoginServiceImpl implements LoginService { LoginMapper loginMapper; public void setLoginMapper(LoginMapper loginMapper) { this.loginMapper = loginMapper; } @Override public int doLogin(Login login) { return loginMapper.doLogin(login); } } 在controller包中新建LoginController类 //指定在浏览器的路径 @RequestMapping("loginController") @Controller//注解,表明是Controller public class LoginController { @Autowired @Qualifier("loginService") LoginService loginService; @RequestMapping(value = "homePage") public String homePage(Login login, Map map) { int i = loginService.doLogin(login); if (i > 0) { map.put("login", login); return "redirect:/studentController/getAllStudent"; } else { return "error"; } } @RequestMapping("login") public String login() { return "login"; } } login.jsp 学生管理系统-登录 登录 增加 在entity包中新增Student实体类 package pers.kuroko.entity; public class Student { private int id; private String name; private String sex; private int age; private String insitute; private String majo; private int grade; private int clazz; public Student() { } //此处省略有参构造和setter、getter @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", insitute='" + insitute + '\'' + ", majo='" + majo + '\'' + ", grade=" + grade + ", clazz=" + clazz + '}'; } } 在StuMapper接口中增加一个方法 int addStudent(Student student);在stuMapper.xml中新增SQL语句 insert into student(id,name,sex,age,insitute,majo,grade,clazz) values (#{id}, #{name}, #{sex}, #{age}, #{insitute}, #{majo}, #{grade}, ${clazz}) 在service包中的StudentService接口和StudentServiceImpl实现类中都增加相应方法 int addStudent(Student student); @Override public int addStudent(Student student) { return stuMapper.addStudent(student); } 最后在StudentController中调用service中的方法,进行最后的逻辑处理即可 @ResponseBody @RequestMapping(value = "addStudent") public String addStudent(Student student) { //判断该学号的学生是否已经存在 Student studentById = studentService.queryStudentById(student.getId()); if (studentById != null) { return "isExist"; } //加入数据库,看返回值决定是否成功 int i = studentService.addStudent(student); if (i > 0) { return "success"; } else { return "error"; } } 前端调用,使用ajax //data是前端定义的类,包含所有从前端获取的信息,完整url应该是http://localhost:8081/StudentManagePro/studentController/addStudent $.ajax({ type : 'post', url : url, data : data, success : function (data) { if (data === "error") { alert("添加失败"); } else if (data === "success") { sumbit(); alert("添加成功"); } else if (data === "isExist") { alert("学号重复,添加失败"); } }, error : function (data) { alert("异常情况!") } }) 删除、修改、查询

本质上删除、修改、查询和增加的逻辑是一样的,这里就不一 一展开了,具体代码可以到GitHub去看,本项目GitHub链接

在StuMapper.java中添加对应方法、在stuMapper.xml添加对应的SQL语句在StudentService和StudentServiceImpl中新增对应方法,调用StuMapper在StudentController中新增对应方法,调用StudentService 缺点、不足 功能较少分页功能使用的是前端实现 优点 逻辑简单,适合新手入门代码层次明了 写在后面

此项目比较适合新手学习SSM的时候用来巩固一些基本操作,代码并不难懂,逻辑比较简单,如果有什么建议或者不懂的地方,可以通过评论 or 邮箱联系我([email protected]

希望大家共同进步。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3