在实习单位借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}

 以上,完工(ゝω・)


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部