![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yYxIDM3QWYjJWNlZDZkJzNjlTZkJTYzU2Y0UGNkRzY28CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
目的:
通过点击批量导入用户信息的按钮,跳转至一个可以添加上传文件的页面,然后用户信息添加进数据库中commons-fileupload.jar
commons-io.jar
2、准备上传文件的表单域:这里需要注意一下:
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方式的请求 访问了user控制器的这个方法
//批量导入
业务层的实现类:使用了流的方式来读取了文件 //批量导入用户的信息
比如:下面的这个文档就是要上传的文件信息:
每一行每一行的读,有空格就跳过继续读业务层读取完的数据封装到List集合中传递到mapper层:
先定义接口中的方法:
再mapper.xml中书写批量添加操作的sql:
这里需要注意的是foreach标签,这里会进行迭代,
因为添加操作values后面有很多的(),(),()....每个括号代表一个添加的用户信息,所以separator的意思就是以逗号,进行分割 如上就完成了文件批量导入用户的信息操作