在实习单位借Spring框架学做增删改查 的代码
抱歉本人学艺不精,还不清楚怎么完整上传整个项目,而且也怕不小心上传一些公司的代码会侵权,所以只以部分自己写的代码的形式上传.
数据表

Dao层:
fyTestDao.java:
package 不.要.在.意.fyTest.dao;import java.util.List;import 不.要.在.意.CrudDao;
import 不.要.在.意.MyBatisDao;
import 不.要.在.意.fyTest.entity.FyTestUser;
@MyBatisDao
public interface FyTestDao extends CrudDao{List getFyTestUserList(FyTestUser fyTestUser); //查void insertFyTestUser(FyTestUser fyTestUser); //增List getFyTestUserListForCheckTuid(FyTestUser fyTestUser); //在新增数据的前一刻使用,检查新建的数据的工号是否跟旧数据有重复void updateFyTestUserForStatus(FyTestUser fyTestUser); //改状态void updateFyTestUserForAll(FyTestUser fyTestUser); //改全部void deleteFyTestUser(FyTestUser fyTestUser); //删
}
fyTestDao.xml:
insert into fy_test(tuid,name,sex,dep,status,tel,create_time,amend_time)values(#{tuid},#{name},#{sex},#{departments},${status} ,#{telephone},sysdate,sysdate) update fy_test tset t.status=${status},t.amend_time=sysdatewhere t.tuid=#{tuid} update fy_test tset t.name=#{name} ,t.sex=#{sex} ,t.dep=#{departments} ,t.status=${status} ,t.tel=#{telephone} ,t.amend_time=sysdatewhere tuid=#{tuid} delete from fy_test twhere t.tuid=#{tuid}
Service层:
fyTestService.java:
package 不.要.在.意.fyTest.service;import java.util.List;import 不.要.在.意.Service;
import 不.要.在.意.Transactional;import 不.要.在.意.Page;
import 不.要.在.意.CrudService;
import 不.要.在.意.fyTest.dao.FyTestDao;
import 不.要.在.意.fyTest.entity.FyTestUser;
import 不.要.在.意.FunctionReturn;@Service //对于 service层的类,在类上用 @Service注解声明
@Transactional(readOnly =false) //表示该类需要读写事务支持
//老规矩,不管crudService,写上只是防止以后会有其他相配合的功能要使用它
public class FyTestService extends CrudService {//获取page(查)public Page getFyTestPage(Page page,FyTestUser fyTestUser){ fyTestUser.setPage(page);page.setList(dao.getFyTestUserList(fyTestUser));return page;}//fytest表单页面(增)public FunctionReturn saveFyTestUser(FyTestUser fyTestUser){FunctionReturn functionReturn = new FunctionReturn(); //1.设置数据表时将工号设计为了主键(不允许有重复数据),所以要将这种情况设置为"储存失败"List checkList=dao.getFyTestUserListForCheckTuid(fyTestUser);if(checkList.size()>0){ //checkList.size返回的数据是数据条数,当数据大于0时代表Dao层在数据库里查到了相同工号的数据 functionReturn.setReturnCode(1); //工号重复是不允许的,返回值"1",代表着错误functionReturn.setReturnMsg("添加失败:表单中已存在该工号,请确认");return functionReturn; //因为if成真,工号确实有重复,所以不进行保存操作,直接在此处return,2操作也就不会进行了}//2.保存fytest表单信息dao.insertFyTestUser(fyTestUser);functionReturn.setReturnCode(0);functionReturn.setReturnMsg(fyTestUser.getName()+"["+fyTestUser.getTuid()+"]数据添加成功");return functionReturn;}//导出表单数据(查)public List getFyTestUserExportList(FyTestUser fyTestUser){return dao.getFyTestUserList(fyTestUser);}//移除表单数据 (删)public FunctionReturn deleteFyTestUser(FyTestUser fyTestUser){FunctionReturn functionReturn = new FunctionReturn();dao.deleteFyTestUser(fyTestUser);functionReturn.setReturnCode(0);functionReturn.setReturnMsg("移除成功");return functionReturn;}//改状态(改)public FunctionReturn updateFyTestUserForStatus(FyTestUser fyTestUser){FunctionReturn functionReturn=new FunctionReturn();dao.updateFyTestUserForStatus(fyTestUser);functionReturn.setReturnCode(0);functionReturn.setReturnMsg("状态更改成功");return functionReturn;}//改全部(改)public FunctionReturn updateFyTestUserForAll(FyTestUser fyTestUser){FunctionReturn functionReturn=new FunctionReturn();dao.updateFyTestUserForAll(fyTestUser);functionReturn.setReturnCode(0);functionReturn.setReturnMsg("整体更改成功");return functionReturn;}
}
Web层:
fyTestController.java:
package 不.要.在.意.fyTest.web;import java.util.List;import javax.servlet.http.HttpServletRequest; //HttpServletRequest接收来自客户端的请求
import javax.servlet.http.HttpServletResponse; //HttpServletResponse发出对客户端的响应import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; //它允许控制器向视图传递数据
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;import 不.要.在.意.Page;
import 不.要.在.意.DateUtils;
import 不.要.在.意.Exceptions;
import 不.要.在.意.ExportExcel;
import 不.要.在.意.BaseController;
import 不.要.在.意.fyTest.entity.FyTestUser;
import 不.要.在.意.fyTest.service.FyTestService;
import c不.要.在.意.FunctionReturn;/*** FyTest* */
@Controller
@RequestMapping(value="${adminPath}/fyTest")
public class FyTestController extends BaseController {@AutowiredFyTestService fyTestService;//查询整个数据表,分页,每页30行数据,展示@RequiresPermissions("fyTest:fyTestUser:view") //注解,操作该功能需要有 "fyTest:fyTestUser:view"的权限 @RequestMapping(value={"/fyTestUsers/list"}) //一个用来处理请求地址映射的注解,运行这个功能时的url路径就会是".../fyTestUsers/list"(已验证)public String fyTestUserList(FyTestUser fyTestUser,HttpServletRequest request,HttpServletResponse response,Model model){Page page = fyTestService.getFyTestPage(new Page(request,response),fyTestUser);//获取了表的数据model.addAttribute("page",page); //将数据存储在 Model对象中,然后在视图层中使用该数据return"modules/fyTest/fyTest"; //跟前端页面返回有关系,表示进行完当前操作返回到哪个页面}//填写"新增信息"的页面@RequiresPermissions("fyTest:fyTestUser:edit")@RequestMapping(value={"/fyTestUsers/form"})public String fyTestUsersForm(FyTestUser fyTestUser, HttpServletRequest request, HttpServletResponse response, Model model){return "modules/fyTest/fyTestForm";}//"整体修改"的页面@RequestMapping(value={"/fyTestUsers/update"})public String fyTestUsersUpdate(FyTestUser fyTestUser, HttpServletRequest request, HttpServletResponse response, Model model){return "modules/fyTest/fyTestUpdate";}//功能,新增信息@RequiresPermissions("fyTest:fyTestUser:edit")@RequestMapping(value={"/fyTestUsers/save"})public String fyTestUsersSave(FyTestUser fyTestUser, Model model,RedirectAttributes redirectAttributes){ try{FunctionReturn fr = fyTestService.saveFyTestUser(fyTestUser); //1查重2插入新数据addMessage(redirectAttributes,fr.getReturnMsg()); //打印在Service层获取到的消息}catch(Exception ex){addMessage(redirectAttributes, fyTestUser.getName()+"["+fyTestUser.getTuid()+"]添加新数据失败");logger.debug(Exceptions.getStackTraceAsString(ex));ex.printStackTrace();}return "redirect:"+adminPath+"/fyTest/fyTestUsers/list";}//导出表单数据@RequiresPermissions("fyTest:fyTestUser:view")@RequestMapping(value = "/fyTestUsers/export",method=RequestMethod.POST)public String exportfile(FyTestUser fyTestUser,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes){try{String fileName="FyTest"+DateUtils.getDate("yyyyMMDDHHmmss")+".xlsx";ListexportList= fyTestService.getFyTestUserExportList(fyTestUser);new ExportExcel("fyTest", FyTestUser.class).setDataList(exportList).write(response, fileName).dispose(); return null;}catch (Exception e){addMessage(redirectAttributes,"导出信息失败!失败信息:"+e.getMessage());}return "redirect:"+adminPath+"/fyTest/fyTestUsers/list";}//修改状态@RequiresPermissions("fyTest:fyTestUser:edit")@RequestMapping(value = "/fyTestUsers/updateStatus")public String fyTestUserUpdateStatus(FyTestUser fyTestUser, HttpServletRequest request, Model model, RedirectAttributes redirectAttributes){try{FunctionReturn fr = fyTestService.updateFyTestUserForStatus(fyTestUser);addMessage(redirectAttributes,fr.getReturnMsg());}catch(Exception ex){addMessage(redirectAttributes,"状态更新失败");logger.debug(Exceptions.getStackTraceAsString(ex));ex.printStackTrace();}return "redirect:"+adminPath+"/fyTest/fyTestUsers/list";}//修改整体@RequiresPermissions("fyTest:fyTestUser:edit")@RequestMapping(value = "/fyTestUsers/updateAll")public String fyTestUserUpdateAll(FyTestUser fyTestUser, HttpServletRequest request, Model model, RedirectAttributes redirectAttributes){try{FunctionReturn fr = fyTestService.updateFyTestUserForAll(fyTestUser);addMessage(redirectAttributes,fr.getReturnMsg());}catch(Exception ex){addMessage(redirectAttributes,"更新失败");logger.debug(Exceptions.getStackTraceAsString(ex));ex.printStackTrace();}return "redirect:"+adminPath+"/fyTest/fyTestUsers/list";}//删除数据@RequiresPermissions("fyTest:fyTestUser:edit")@RequestMapping(value = "/fyTestUsers/delete")public String fyTestUserRemove(FyTestUser fyTestUser, HttpServletRequest request, Model model, RedirectAttributes redirectAttributes){try{FunctionReturn fr = fyTestService.deleteFyTestUser(fyTestUser);addMessage(redirectAttributes,fr.getReturnMsg());}catch(Exception ex){addMessage(redirectAttributes,"删除失败");logger.debug(Exceptions.getStackTraceAsString(ex));ex.printStackTrace();}return "redirect:"+adminPath+"/fyTest/fyTestUsers/list";}
}
数据载体:
fyTestUser.java:
package 不.要.在.意.fyTest.entity;//import导入本类中会引用的其他类
import java.util.Date; //时间类 import 不.要.在.意.DataEntity; //老大定义的类,操作数据用
import 不.要.在.意.ExcelField; //老大定义的注解类,在此处用来设置导出exl文件时各数据在文件中的一些排版属性等public class FyTestUser extends DataEntity {private String tuid; //工号private String name; //姓名private String sex; //性别private String departments; //部门private int status; //状态private String telephone; //电话号private Date createTime; //创建时间private Date amendTime; //修改时间@ExcelField(title="工号", align=2, sort=5)//返回tuid的字符串public String getTuid() {return tuid;}//存储tuid的值public void setTuid(String tuid) {this.tuid = tuid;}//其他同上@ExcelField(title="姓名", align=2, sort=10)public String getName() {return name;}public void setName(String name) {this.name = name;}@ExcelField(title="性别", align=2, sort=15)public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}@ExcelField(title="部门", align=2, sort=20)public String getDepartments() {return departments;}public void setDepartments(String departments) {this.departments = departments;}@ExcelField(title="状态", align=2, sort=25)public int getStatus() {return status;}public void setStatus(int status) {this.status = status;}@ExcelField(title="电话号", align=2, sort=30)public String getTelephone() {return telephone;}public void setTelephone(String telephone) {this.telephone = telephone;}@ExcelField(title="创建时间", align=2, sort=35)public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}@ExcelField(title="创建时间", align=2, sort=40)public Date getAmendTime() {return amendTime;}public void setAmendTime(Date amendTime) {this.amendTime = amendTime;}}
前端:
fyTest.jsp:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
ftTest -
* 工号 姓名 性别 部门 状态 电话 创建时间 修改时间 ${status.index + 1} ${fyTestUser.tuid} ${fyTestUser.name} ${fyTestUser.sex} ${fyTestUser.departments} 工作中 放假中 已离职 上班 下班 ${fyTestUser.telephone} 整体修改 删除
${page}

fyTestForm.jsp:
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
新增测试数据

fyTestUpdate.jsp:
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
整体修改
${fyTestUser.tuid}

以上,完工(ゝω・)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
