springboot mybatis easyexcel
时间: 2023-09-16 10:08:41 浏览: 100
Spring Boot是一个基于Spring框架的开发框架,可以帮助开发者快速搭建基于Spring的应用程序,MyBatis是一种持久化框架,可以将Java对象映射到数据库表中。EasyExcel是一个Java解析和生成Excel文件的库。
在使用Spring Boot和MyBatis时,我们可以使用MyBatis的注解来简化数据库操作,同时使用Spring Boot的自动配置和依赖管理来简化项目的搭建和部署。而使用EasyExcel可以帮助我们更方便地读写Excel文件,以及将数据导出为Excel文件。
可以通过在Spring Boot项目中引入MyBatis和EasyExcel的依赖来使用它们,具体操作可以参考官方文档和示例代码。
相关问题
如何用vue、springboot和easyexcel把excel表格导入数据库
可以按照以下步骤使用 Vue、Spring Boot 和 EasyExcel 把 Excel 表格导入数据库:
1. 创建一个 Vue 页面,使用 Element UI 的 Upload 组件上传 Excel 文件,并在上传成功后调用后端接口。
2. 在 Spring Boot 后端中,使用 EasyExcel 将上传的 Excel 文件转换为 Java 对象。
3. 将 Java 对象保存到数据库中,可以使用 Spring Data JPA 或 Mybatis 等框架进行操作。
下面是一个示例代码:
Vue 页面代码:
```html
<template>
<div>
<el-upload
class="upload-demo"
ref="upload"
:action="uploadUrl"
:on-success="handleUploadSuccess"
:file-list="fileList"
:auto-upload="false"
>
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button size="small" type="success" @click="submitUpload">上传到服务器</el-button>
<div slot="tip" class="el-upload__tip">只能上传 xlsx 文件</div>
</el-upload>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
fileList: [],
uploadUrl: '/api/upload',
};
},
methods: {
handleUploadSuccess(response) {
this.fileList.push(response.data.file);
},
submitUpload() {
const formData = new FormData();
formData.append('file', this.fileList[0].raw);
axios.post(this.uploadUrl, formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
}).then(() => {
this.$message.success('上传成功');
});
},
},
};
</script>
```
Spring Boot 后端代码:
```java
@RestController
@RequestMapping("/api")
public class UploadController {
@PostMapping("/upload")
public void upload(@RequestParam("file") MultipartFile file) {
try {
List<DemoData> dataList = EasyExcel.read(file.getInputStream()).head(DemoData.class).sheet().doReadSync();
// 保存 dataList 到数据库中
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,DemoData 是要导入的 Excel 表格的实体类,可以使用 @ExcelProperty 注解标注表格的每一列对应的属性。需要注意的是,在使用 EasyExcel 进行读取时,Excel 表格的第一行会被默认为表头,因此需要在读取表格时指定表头对应的实体类。
使用Springboot和Mybatis和EasyExcel将Excel文件读入程序,将数据存储到数据库中,再从数据库里面读出数据,保存到Excel文件中进行下载
1. 首先,我们需要添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.7</version>
</dependency>
```
2. 然后,我们需要创建一个实体类来保存Excel中的数据:
```java
@Data
public class User {
private Long id;
private String name;
private Integer age;
}
```
3. 接下来,我们需要创建一个Mapper类来处理数据库操作:
```java
@Mapper
public interface UserMapper {
@Insert("insert into user(name, age) values(#{name}, #{age})")
int insert(User user);
@Select("select * from user")
List<User> findAll();
}
```
4. 然后,我们需要创建一个Controller类来处理Excel文件的读取和保存:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@PostMapping("/import")
public String importExcel(MultipartFile file) throws IOException {
// 读取Excel文件
InputStream inputStream = file.getInputStream();
List<User> userList = EasyExcel.read(inputStream).head(User.class).sheet().doReadSync();
// 将数据保存到数据库
for (User user : userList) {
userMapper.insert(user);
}
return "导入成功";
}
@GetMapping("/export")
public void exportExcel(HttpServletResponse response) throws IOException {
// 从数据库中读取数据
List<User> userList = userMapper.findAll();
// 将数据保存到Excel文件中
OutputStream outputStream = response.getOutputStream();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=user.xlsx");
EasyExcel.write(outputStream, User.class).sheet().doWrite(userList);
}
}
```
5. 最后,我们需要在application.properties文件中配置数据库连接信息:
```properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
```
完成以上步骤后,我们就可以通过访问/user/import接口来导入Excel文件中的数据,通过访问/user/export接口来将数据库中的数据导出到Excel文件中。
阅读全文