JAVA就业套餐课:https://edu.csdn.net/combo/detail/1230

本案例承接以前的SSM整合系列,针对Oracle中的Dept表做操作,如果单击浏览,则进行批量导入;单击2则是单个导入。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>部门添加</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><script type="text/javascript" src="easyui/jquery-1.8.3.min.js"></script><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script type="text/javascript"><%--function onload(){var temp =  '${errormsg}';if(temp!=''){alert(temp);}}--%>$(function(){$("#subbtn").click(function(){var deptNo = $(".deptNo").val();if($.trim(deptNo)==''){// alert("部门编号不能为空!");$("#spana").html("部门编号不能为空!");return;}else{if(deptNo.length<2){$("#spana").html("部门编号不能小于2位数!");return;}}var dName = $("#dName").val();if(dName==''){// alert("部门编号不能为空!");$("#spana").html("部门名称不能为空!");return;}var loc = $("#loc").val();if(loc==''){// alert("部门编号不能为空!");$("#spana").html("部门位置不能为空!");return;}$("#form1").submit();});});</script></head><body onload="onload()"><div align="center">部门添加  <c:if test="${errormsg}">1111</c:if> <span id="spana" style="color:#ff0000">${errormsg}</span>   </div><form action="dept/deptImp" method="post" enctype="multipart/form-data"><div align="center">  <a href="jsp/deptinfo.xls">模板下载</a> <input type="file" name="mFile"><input type="submit" value="提交">   </div> </form><form action="dept/add" method="post" id="form1"><table border="1" align="center" width="80%"><tr align="center"><td>部门编号</td><td> <input type="text" name="deptNo" class="deptNo"> </td> </tr> <tr align="center"><td>部门名称</td><td> <input type="text" name="dName" id="dName"> </td> </tr> <tr align="center"><td>部门位置</td><td> <input type="text" name="loc" id="loc"> </td> </tr> <tr align="center"><td colspan="2"> <input  type="button" id="subbtn" value="提交"> </td></tr></table></form></body>
</html>

批量导入部门的控制器代码:

package com.aaa.ssm.controller;import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;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.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;import com.aaa.ssm.entity.Dept;
import com.aaa.ssm.service.IDeptService;
import com.aaa.ssm.util.PageData;
import com.aaa.ssm.util.PageUtil;/***@classname:DeptController.java*@discription:部门 控制器,负责与前后台及模型交互**@author:zhz*@createtime:2017-4-13上午09:09:16*@version:1.0*/
@Controller
@RequestMapping("/dept")
public class DeptController {@Autowiredprivate IDeptService service;/*** 部门列表方法* @return*/@RequestMapping("/list")public String list(Model model,Integer pageNo,HttpServletRequest request){/*System.out.println("URI地址:"+request.getRequestURI());Enumeration  pNames=request.getParameterNames();  while(pNames.hasMoreElements()){  String  name=(String)pNames.nextElement();System.out.println("name:"+name+"="+request.getParameter(name));}*/int pageSize=2;if(pageNo==null){pageNo=1;}Map map =new HashMap();map.put("start", (pageNo-1)*pageSize);map.put("end", pageNo*pageSize+1);PageData pageData = service.getList(map);int count = pageData.getCount();//总数量String pageString = new PageUtil(pageSize, pageNo, count, request).getPageString();model.addAttribute("deptList", pageData.getList());model.addAttribute("pageString", pageString);return "dept/list";}/*** 批量导入部门信息* @param mFile* @return* @throws IOException* @throws BiffException */@RequestMapping("/deptImp")public String deptImport(@RequestParam MultipartFile mFile) throws IOException, BiffException{//获取文件流InputStream inputStream = mFile.getInputStream();//利用JAR提供的Workbook类读取文件Workbook workbook = Workbook.getWorkbook(inputStream);//获取工作薄Sheet sheet = workbook.getSheet(0);//获取总行数int rows = sheet.getRows();//获取总列数int cells = sheet.getColumns();//循环读取数据Dept dept = null;for(int i=1;i<rows;i++){dept = new Dept();Cell[] cell=sheet.getRow(i);dept.setDeptNo(Integer.valueOf(cell[0].getContents()));dept.setdName(cell[1].getContents());dept.setLoc(cell[2].getContents());service.add(dept);/*for(int j=0;j<cells;j++){System.out.println(cell[j].getContents());}*/}return "redirect:list";}/*** 返回DeptJson* @return*/@ResponseBody@RequestMapping("/deptJson")public Object deptJson(){Map map =new HashMap();map.put("start", 0);map.put("end", 100);PageData pageData = service.getList(map);int count = pageData.getCount();//总数量List<Dept> deptList = pageData.getList();Map mapJson =new HashMap();mapJson.put("total", count);mapJson.put("rows", deptList);return mapJson;}/*** 跳转添加方法* @return*/@RequestMapping("/toAdd")public String toAdd(){return "dept/add";}/*** 添加方法* @param dept* @return*/@RequestMapping("/add")public String add(Dept dept,Model model){try {service.add(dept);return "redirect:list";} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();model.addAttribute("errormsg", "添加部门失败!");return "dept/add";}}/*** 跳转部门更新* @return*/@RequestMapping("/toUpdate")public String toUpdate(Model model,int deptNo){Dept dept =  service.getById(deptNo);model.addAttribute("dept", dept);return "dept/update";}/*** 部门更新* @param dept* @return*/@RequestMapping("/update")public String update(Dept dept){service.update(dept);return "redirect:list";}/*** 部门删除* @return*/@RequestMapping("/del")public String delete(Integer deptNo){service.delete(deptNo);return "redirect:list";}
}
/*** 批量导入部门信息* @param mFile* @return* @throws IOException* @throws BiffException */@RequestMapping("/deptImp")public String deptImport(@RequestParam MultipartFile mFile) throws IOException, BiffException{//获取文件流InputStream inputStream = mFile.getInputStream();//利用JAR提供的Workbook类读取文件Workbook workbook = Workbook.getWorkbook(inputStream);//获取工作薄Sheet sheet = workbook.getSheet(0);//获取总行数int rows = sheet.getRows();//获取总列数int cells = sheet.getColumns();//循环读取数据Dept dept = null;for(int i=1;i<rows;i++){dept = new Dept();Cell[] cell=sheet.getRow(i);dept.setDeptNo(Integer.valueOf(cell[0].getContents()));dept.setdName(cell[1].getContents());dept.setLoc(cell[2].getContents());service.add(dept);/*for(int j=0;j<cells;j++){System.out.println(cell[j].getContents());}*/}return "redirect:list";}/*** 返回DeptJson* @return*/@ResponseBody@RequestMapping("/deptJson")public Object deptJson(){Map map =new HashMap();map.put("start", 0);map.put("end", 100);PageData pageData = service.getList(map);int count = pageData.getCount();//总数量List<Dept> deptList = pageData.getList();Map mapJson =new HashMap();mapJson.put("total", count);mapJson.put("rows", deptList);return mapJson;}/*** 跳转添加方法* @return*/@RequestMapping("/toAdd")public String toAdd(){return "dept/add";}/*** 添加方法* @param dept* @return*/@RequestMapping("/add")public String add(Dept dept,Model model){try {service.add(dept);return "redirect:list";} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();model.addAttribute("errormsg", "添加部门失败!");return "dept/add";}}/*** 跳转部门更新* @return*/@RequestMapping("/toUpdate")public String toUpdate(Model model,int deptNo){Dept dept =  service.getById(deptNo);model.addAttribute("dept", dept);return "dept/update";}/*** 部门更新* @param dept* @return*/@RequestMapping("/update")public String update(Dept dept){service.update(dept);return "redirect:list";}/*** 部门删除* @return*/@RequestMapping("/del")public String delete(Integer deptNo){service.delete(deptNo);return "redirect:list";}
}

服务层Service的代码:

package com.aaa.ssm.service;import java.util.List;
import java.util.Map;import com.aaa.ssm.entity.Dept;
import com.aaa.ssm.util.PageData;/***@classname:IDeptService.java*@discription:部门业务类接口**@author:zhz*@createtime:2017-4-13上午09:06:39*@version:1.0*/
public interface IDeptService {/*** 根据部门编号获取部门对象* @return*/public Dept getById(int deptNo);/*** 部门列表* @return*/public PageData getList(Map map);/*** 部门添加* @param dept*/public void add(Dept dept);/*** 部门更新* @param dept*/public void update(Dept dept);/*** 部门删除* @param deptNo*/public void delete(int deptNo);}

服务层实现类和以前的一样:

 /*** 部门添加*/public void add(Dept dept) {// TODO Auto-generated method stubdao.add(dept);//   System.out.println(1/0);}

扩展篇,该段示例代码只能实现,批量导入dept表中的数据到数据库,如何实现批量如何多个表呢?

ssm之九 批量导入excel到数据库相关推荐

  1. ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具

    ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具 简介 ExcelToOracle 是一个可以批量导入excel到数据库(mysql/oracle/sqlserver ...

  2. java操作mysql导表_Java实现批量导入excel表格数据到数据库中的方法

    本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; impor ...

  3. ExcelToDatabase:批量导入Excel文件到MySQL/Oracle/SQL Server数据库的自动化工具

    ExcelToDatabase:批量导入Excel到MySQL/Oracle/SQL Server数据库的自动化工具 简介 ExcelToDatabase 是一个可以批量导入excel到mysql/o ...

  4. csv导入mysql phpmyadmin_【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)...

    今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库.分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法,非常实用简洁: 1.修改Excel表的数据,使得Excel中的 ...

  5. php laravel导入excel,Laravel- 后台批量导入 Excel

    最近做的一个H5网站 有一个后台批量录入信息列表的功能,上网搜索了一下,发现了maatwebsite/excel 依赖,在此说明一下具体的实现流程. 1.安装 值得一提的是本人使用的是laravel ...

  6. vhm在服务器上创建虚拟机,一步步实现ABAP后台导入EXCEL到数据库【1】

    在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...

  7. mysql导入多个txt_MySQL批量导入Excel、txt数据

    我想Excel是当今最大众化的批量数据管理软件了吧,所以我们会经常涉及到将Excel中数据导入到MySQL中的工作.网上有一些关于直接将Excel导入MySQL的教程,不知道是我安装的office不对 ...

  8. php把路由放在数据库,PHP导入Excel到数据库的方法 PHP把数据库数据导出到方法

    PHP导入Excel到数据库的方法 PHP把数据库数据导出到方法 本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法.分享给大家供大家参考.具体实现方法如下: 一.导入 导入 ...

  9. mysql批量导入txt数据_MySQL批量导入Excel、txt数据

    我想Excel是当今最大众化的批量数据管理软件了吧,所以我们会经常涉及到将Excel中数据导入到MySQL中的工作.网上有一些关于直接将Excel导入MySQL的教程,不知道是我安装的office不对 ...

最新文章

  1. Hinton口中破解宇宙终极秘密的GPT-3厉害在哪?这有篇涂鸦详解
  2. java jedis使用_Java中使用Jedis操作Redis
  3. 怎样制作html插件,自己动手制作一个Chrome插件 入门级
  4. Gradient Boosted Decision Trees详解
  5. 刷breed 极路由3_路由器接入usb打印机制作无线打印机服务器
  6. Vue 2017 现状与展望 | 视频+PPT+速记快速回顾
  7. 生成静态页面的五种方案 收藏
  8. python字典调用_python 字典访问的三种方法
  9. scala.Enumeration 枚举示例
  10. SQL正则表达式的妙用
  11. 年末总结 | 音视频开发进阶 2021 干货合集
  12. STM32F303VCT6(数据表) ARM Cortex M4,微控制器
  13. 根据卡号返回银行信息
  14. spring源码解读:@Lazy延迟注入的逻辑
  15. 数据结构之常见排序算法的适用范围
  16. 微信浏览器调起微信登录
  17. Matlab代码书写规范
  18. 复利java_复利计算1.0,2.0,3.0(java)
  19. 手机淘宝构架演化实践
  20. An Actor–Critic based controller for glucose regulation in type 1 diabetes

热门文章

  1. 小师妹学JVM之:java的字节码byte code简介
  2. Java中IO和NIO的本质和区别
  3. Leet Code OJ 88. Merge Sorted Array [Difficulty: Easy]
  4. kali 安装volatility_kali对Windows内存在线取证
  5. springmvc 注解总结
  6. 数据结构——排序算法(含动态图片)
  7. 详解CSS三大特性之层叠性、继承性和重要性——Web前端系列学习笔记
  8. 【GIF动画+完整可运行源代码】C++实现 快速排序——十大经典排序算法之六
  9. vue函数如何调用其他函数?_好程序员Python教程系列之递归函数与匿名函数调用...
  10. 计算机狐狸标志的程序,小狐狸等分线计算工具