Maven+SSM框架实例(二)——增删查的功能
2018-01-18 16:56
381 查看
该博客沿用上一篇博客,是之前项目实例的补充
在该接口加上添加学生的方法,通过前端传来的姓名——sname,性别——sex,birthplace——出生地。这里的cid还需要通过classname来查询获得。
(稍后会在Controller类中说明)
在mapper文件中填写,添上insert功能:
StudentService接口:
StudentServiceImpl实现类:
StudentAction控制器:
写了两个方法是因为有个添加学生的链接跳转到填写信息的页面,所以要去添加,然后才是真正的添加。
add.jsp页面代码:
mapper文件:
Service层就不赘述了
Controller:
我是在显示所有的列表旁边多了个删除的按钮,点击删除后再查询全部。
show.jsp:
mapper文件:
Controller类:
update.jsp:
一、增加功能
Dao类(StudentDao):在该接口加上添加学生的方法,通过前端传来的姓名——sname,性别——sex,birthplace——出生地。这里的cid还需要通过classname来查询获得。
(稍后会在Controller类中说明)
void addStudent(@Param("sname") String sname, @Param("cid") int cid, @Param("sex") String sex, @Param("birthplace") String birthplace);//添加学生
在mapper文件中填写,添上insert功能:
<insert id="addStudent"> insert into student (sname,cid,sex,birthplace) values (#{sname},#{cid},#{sex},#{birthplace}) </insert>
StudentService接口:
//添加学生 void addStudent(String sname, int cid, String sex, String birthplace);
StudentServiceImpl实现类:
//提交事务,出了查询以外的增删改,都要进行事务的提交 @Transactional(propagation = Propagation.REQUIRED) public void addStudent(String sname, int cid, String sex, String birthplace) { studentDao.addStudent(sname, cid, sex, birthplace); }
StudentAction控制器:
//去添加学生 @RequestMapping("/toAddStudent") public String toAddStudent() { return "add"; } //添加学生 @RequestMapping("/addStudent") public String addStudent(@RequestParam("sname") String sname, @RequestParam("classname") String classname, @RequestParam("sex") String sex, @RequestParam("birthplace") String birthplace, HttpServletRequest request) { //根据classname查出cid Integer cid = studentService.findClassBycname(classname); if (cid == null) { String msg = "输入的班级名有误!请重新输入"; request.setAttribute("msg",msg); return "add"; } else { studentService.addStudent(sname, cid, sex, birthplace); return "forward:/findall.action"; } }
写了两个方法是因为有个添加学生的链接跳转到填写信息的页面,所以要去添加,然后才是真正的添加。
add.jsp页面代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>Title</title> </head> <body> <div style="text-align: center;"> <label style="color: red">${msg}</label> <form action="/addStudent.action" method="post"> 学生姓名:<input type="text" name="sname" /><br/> 班级:<input type="text" name="classname" /><br/> 性别:<input type="radio" name="sex" value="男" checked="checked" />男 <input type="radio" name="sex" value="女" style="margin-left: 5px" />女<br/> 出生地:<input type="text" name="birthplace" /><br/> <input type="submit" value="提交"> </form> </div> </body> </html>
二、删除功能
Dao接口:void deleteStudent(int sid);//根据学号删除学生
mapper文件:
<delete id="deleteStudent" parameterType="Integer"> delete from student where sid = #{sid} </delete>
Service层就不赘述了
Controller:
//删除学生 @RequestMapping("/deleteStudent") public String deleteStudent(@RequestParam("sid")int sid) { studentService.deleteStudent(sid); return "forward:/findall.action"; }
我是在显示所有的列表旁边多了个删除的按钮,点击删除后再查询全部。
show.jsp:
<a href="/index.action">返回主页</a><br /> <table border="1"> <tr> <td>学号</td> <td>班级</td> <td>姓名</td> <td>性别</td> <td>出生地</td> <td colspan="2">操作</td> </tr> <c:forEach items="${studentlist }" var="list"> <tr> <td>${list.sid}</td> <td>${list.classes.classname}</td> <td>${list.sname}</td> <td>${list.sex}</td> <td>${list.birthplace}</td> <td><a href="javascript:if(confirm('确实要删除该学生吗?'))location='/deleteStudent.action?sid=${list.sid}'">删除</a></td> <td><a href="/toupdate.action?sid=${list.sid}">修改</a></td> </tr> </c:forEach> </table>
三、修改功能
Dao接口:void updateStudent(@Param("sid") int sid, @Param("sname") String sname, @Param("cid") int cid, @Param("sex") String sex, @Param("birthplace") String birthplace);
mapper文件:
<update id="updateStudent"> update student set sname = #{sname}, cid = #{cid}, sex = #{sex}, birthplace = #{birthplace} WHERE sid = #{sid} </update>
Controller类:
//去修改的页面 @RequestMapping("/toupdate") public String toUpdate(@RequestParam("sid") int sid, HttpServletRequest request) { Student student = studentService.findBySid(sid); request.setAttribute("student",student); return "update"; } //修改学生信息 @RequestMapping("/update") public String update(@RequestParam("sid") int sid,@RequestParam("sname")String sname,@RequestParam("classname") String classname, @RequestParam("sex") String sex,@RequestParam("birthplace")String birthplace, HttpServletRequest request) { Integer cid = studentService.findClassBycname(classname); if (cid == null) { String msg = "输入的班级名有误!请重新输入"; request.setAttribute("msg",msg); Student student = new Student(sid, sname, new Classes(0, classname), sex, birthplace); request.setAttribute("student",student); return "update"; } else { studentService.updateStudent(sid,sname,cid,sex,birthplace); return "forward:/findall.action"; } }
update.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <div style="text-align: center;"> <label style="color: red">${msg}</label> <form action="/update.action?sid=${student.sid}" method="post"> 学生姓名:<input type="text" name="sname" value="${student.sname}" /><br/> 班级:<input type="text" name="classname" value="${student.classes.classname}" /><br/> 性别:<input type="radio" name="sex" value="男" checked="checked" />男 <input type="radio" name="sex" value="女" style="margin-left: 5px" />女<br/> 出生地:<input type="text" name="birthplace" value="${student.birthplace}" /><br/> <input type="submit" value="提交"> </form> </div> </body> </html>
相关文章推荐
- [置顶] 使用IDEA MAVEN集合SSM框架实现(功能丰富)
- SSM框架(Maven项目)-利用 limit 分页实例
- JAVA Maven SSM框架以及SpringBoot,mybatise框架整合实例开发的脚手架
- Maven+SSM框架项目实例
- Spring+Mybatis+SpringMVC+Maven+MySql(SSM框架)搭建实例
- SSM 框架 Maven项目整合实例
- 使用maven与MyEclipse整合ssm(Spring MVC、Spring、Mybatis)三大框架并实现用户注册(环境搭载+实例源码下载)
- SSM框架整合(Maven+Spring+SpringMVC+Mybatis+mysql 附demo实例)
- 整合maven+spring+springmvc+mybatis实现ssm通用增删查改基础开发框架
- SSM 框架 Maven项目整合实例
- 19、SSM框架-Mybatis入门概述及第一个Mybatis实例实现增删改查(1)
- Spring+SpringMVC+Mybatis(SSM)框架搭建教程(四)-应用功能开发实例
- 整合maven+spring+springmvc+mybatis实现ssm通用增删查改基础开发框架
- SSM框架-Maven前期配置
- Maven下SSM框架搭建-下
- 使用ssm框架进行整合,实现一个小的项目,对员工信息的增删改查
- ssm框架整合的分页功能
- 如何使用Maven搭建SSM框架(2)
- Bootstrap框架结合jQuery仿百度换肤功能实例解析
- SSM框架整合(Spring + SpringMVC + Mybatis + Maven + IDEA)