简单的EXCLE表格上传服务器,在通过mybatis 导入到数据库中

来源:互联网 发布:linux sosreport 编辑:程序博客网 时间:2024/05/29 16:54

学习ing! 如果有什么错的 或者 囊肿的代码 请评论指出。共同学习中 谢谢!


  首先导入上传EXCLE表格所需要的jar

  poi-3.9.jar

  poi-ooxml-schemas-3.9.jar

  poi-ooxml-3.9.jar

  poi-scratchpad-3.17.jar

  如果不知道什么是poi 的话 可以百度查一下。

 


上传数据库的的方法

public static void exinput() throws Exception{  //通过excle 文件导入//读取文件所在的位置FileInputStream st=new FileInputStream("C:\\Users\\ccc\\Desktop\\ww.xls");               HSSFWorkbook wb = new HSSFWorkbook(st); //建设一个新的工作簿 List<Sp> list= new  ArrayList<>();  Sheet sht0 = wb.getSheetAt(0);    //选择第一个工作簿:    for (Row row : sht0) {   //通过foreach 循环表格行中有多少数据    if(row.getRowNum()<1){//第一行为不需要的数据所以为空  continue;  }Sp  sp=new Sp();  //一个实体类 sp.setName(row.getCell(1).getStringCellValue());sp.setImgurl(row.getCell(2).getStringCellValue());Cell mo=row.getCell(3);String n=mo.toString();sp.setMoeny(n);sp.setMiaosu(row.getCell(4).getStringCellValue());sp.setLv(row.getCell(5).getStringCellValue());sp.setFenlei(row.getCell(6).getStringCellValue());                        list.add(sp);}            spDao imp=new spDaoImp();//上传数据库的方法            if(imp.exinsert(list)){//调用            System.out.println("正常");;            }else{            System.out.println("错误____________");            }}

1.实体类


package com.csf.entiy;public class Sp {private  int id;//编号private String name; //商品名称private String imgurl;//商品图片路劲private String moeny;//价格private String miaosu;//描述private String fenlei;//分类private String lv;//等级private String tuijian;public String getTuijian() {return tuijian;}public void setTuijian(String tuijian) {this.tuijian = tuijian;}private ttt  t;public ttt getT() {return t;}public void setT(ttt t) {this.t = t;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getImgurl() {return imgurl;}public void setImgurl(String imgurl) {this.imgurl = imgurl;}public String getMoeny() {return moeny;}public void setMoeny(String moeny) {this.moeny = moeny;}public String getMiaosu() {return miaosu;}public void setMiaosu(String miaosu) {this.miaosu = miaosu;}public String getFenlei() {return fenlei;}public void setFenlei(String fenlei) {this.fenlei = fenlei;}public String getLv() {return lv;}public void setLv(String lv) {this.lv = lv;}@Overridepublic String toString() {return "Sp [id=" + id + ", name=" + name + ", imgurl=" + imgurl+ ", moeny=" + moeny + ", miaosu=" + miaosu + ", fenlei="+ fenlei + ", lv=" + lv + ", t=" + t + "]";}}

2.spDao

public interface spDao {public boolean exinsert(List<Sp> sp);}


3.spDaoImp


package com.csf.DaoImp;import java.util.List;import org.apache.ibatis.session.SqlSession;import com.csf.Dao.spDao;import com.csf.entiy.Sp;import com.csf.util.mybatisUtil;public class spDaoImp implements spDao {@Overridepublic boolean exinsert(List<Sp> lis) {  //通过ex表格导入数据到数据库// TODO Auto-generated method stubSqlSession session=mybatisUtil.getsqlSession();  //mybatis获取连接操作try { int i=session.insert("insert_ex", lis);//插入数据session.commit();  //提交事务session.close();    //关闭if(i>0){return true;}else{return false;}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();return false;}}}


 4.sp.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="sp"><!-- 下面的批量通过ex表格导入数据到数据库 --><insert id="insert_ex" parameterType="java.util.List">insert into sp(name,imgurl,moeny,miaosu,lv,fenlei) value<foreach collection="list" item="item" index="index" separator=",">(#{item.name},#{item.imgurl},#{item.moeny},#{item.miaosu},#{item.lv},#{item.fenlei})</foreach></insert></mapper>

到这里就可以直接运行第一个的方法了。前提是sp 这个数据库中的字段要和实体类对应。导入完前往数据库查看是否批量导入成功。

阅读全文
0 0
原创粉丝点击