天天看点

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

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

目的:

通过点击批量导入用户信息的按钮,跳转至一个可以添加上传文件的页面,然后用户信息添加进数据库中
.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息
.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息
首先,设计到文件的上传,我们需要准备文件上传的前提 1. 依赖的jar包

commons-fileupload.jar

commons-io.jar

2、准备上传文件的表单域:
.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息
3、表单的提交方式:
.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息

这里需要注意一下:

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方式的请求
.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息

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

.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息
注意:接收的参数是一个MultipartFile类型的参数,指代的就是传递过来的文件对象 因为批量导入用户信息属于添加操作,这里是需要try-catch来进行一下事务的处理的,因为Spring的配置文件中已经配置了声明式事务
.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息
当这个try-cathch有异常是会进行事务的回滚的,如果没有异常则说明添加成功,成功的跳转至分页查询的操作,失败的话请求转发到批量添加的页面。 接着控制层调用业务层: 业务层的接口:
//批量导入
           
业务层的实现类:使用了流的方式来读取了文件
//批量导入用户的信息
           

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

每一行每一行的读,有空格就跳过继续读
.net fileupload批量上传可删除_SpringMVC学习——批量的添加用户信息

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

先定义接口中的方法:

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

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

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

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

因为添加操作values后面有很多的(),(),()....每个括号代表一个添加的用户信息,所以separator的意思就是以逗号,进行分割 如上就完成了文件批量导入用户的信息操作

继续阅读