.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息

6c4d4e4ce3a2de9c72dd6e5bcad7021c.png

目的:

通过点击批量导入用户信息的按钮,跳转至一个可以添加上传文件的页面,然后用户信息添加进数据库中

351fa7304859e8bdb4fb9da6836c654b.png

f3a8e1d1750fed399426a4ef70e47df3.png

首先,设计到文件的上传,我们需要准备文件上传的前提

1. 依赖的jar包

commons-fileupload.jar

commons-io.jar

2、准备上传文件的表单域:

d183bac3cd8256518389c09df72e0469.png

3、表单的提交方式:

584b55a01cdca163b6917b116b22f3e8.png

这里需要注意一下: post方式支持二进制文件(字节流),get地址栏,字符流

设置表单数据的编码方式: enctype="multipart/form-data"

enctype的可选值:

> application/x-www-form-urlencoded: 默认值. 表示表单数据的编码形式为: name1=value2&name2=value2...

> multipart/form-data: 以二进制数据的形式提交表单数据, 用于文件上传.

> text/plain: 以纯文本的形式提交数据.


SpringMVC实现文件上传,添加用户的信息

使用Apache提供的文件上传包, 简化了操作, 可以通过配置文件配合MutipartFile对象实现文件的上传操作.

commons-fileupload.jar

commons-io.jar

在SpringMVC的配置文件中需要提前配置文件上传解析器(多部件解析器, MutipartResolver), 该解析器背后依赖Apache的包.

<!-- 

当我们点击--->批量用户导入用户的信息时,给一个后端控制器发送了一个post方式的请求

211c78c89be7c6d8afc8e485491f49dc.png

访问了user控制器的这个方法

837e8dee49c743afc4d4e102931e34b6.png

注意:接收的参数是一个MultipartFile类型的参数,指代的就是传递过来的文件对象

因为批量导入用户信息属于添加操作,这里是需要try-catch来进行一下事务的处理的,因为Spring的配置文件中已经配置了声明式事务

0d8c1c0398864ae3d59a96e15ef24384.png

当这个try-cathch有异常是会进行事务的回滚的,如果没有异常则说明添加成功,成功的跳转至分页查询的操作,失败的话请求转发到批量添加的页面。

接着控制层调用业务层:

业务层的接口:

//批量导入

业务层的实现类:使用了流的方式来读取了文件

//批量导入用户的信息

比如:下面的这个文档就是要上传的文件信息:

每一行每一行的读,有空格就跳过继续读

81c22a1292b1e5831ba858fce4b2662b.png

业务层读取完的数据封装到List集合中传递到mapper层:

先定义接口中的方法:

b061c30ceeb1f333cda5eaefae782ae1.png

再mapper.xml中书写批量添加操作的sql:

e7824ddaefe2df87a8f47b3a8ad1b4e9.png

这里需要注意的是foreach标签,这里会进行迭代,

因为添加操作values后面有很多的(),(),()....每个括号代表一个添加的用户信息,所以separator的意思就是以逗号,进行分割

如上就完成了文件批量导入用户的信息操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值