springBoot将excel文件数据导入数据库
生活随笔
收集整理的這篇文章主要介紹了
springBoot将excel文件数据导入数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
導入依賴
<!-- easypoi excel導入導出--> <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.3.0</version> </dependency>實體類
package com.atxinxin.hospital.entity;/*** 醫院設置表** @author xinxin 2022-10-12*/ @Data @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @TableName("hospital_set") public class HospitalSetPO implements Serializable {private static final long serialVersionUID = 1L;/*** 編號*/@TableId(value = "id", type = IdType.AUTO)@Excel(name = "主鍵",orderNum = "1")private Long id;/*** 醫院名稱*/@Excel(name = "醫院名稱",orderNum = "2")private String hosname;/*** 醫院編號*/@Excel(name = "醫院編號",orderNum = "3")private String hoscode;/*** api基礎路徑*/@Excel(name = "api基礎路徑",orderNum = "4")private String apiUrl;/*** 簽名秘鑰*/@Excel(name = "簽名秘鑰",orderNum = "5")private String signKey;/*** 聯系人*/@Excel(name = "聯系人",orderNum = "6")private String contactsName;/*** 聯系人手機*/@Excel(name = "聯系人手機",orderNum = "7")private String contactsPhone;/*** 狀態*/private Byte status;/*** 創建時間*/@TableField(fill = FieldFill.INSERT)private LocalDateTime createTime;/*** 更新時間*/@TableField(fill = FieldFill.INSERT)private LocalDateTime updateTime;/*** 邏輯刪除(1:已刪除,0:未刪除)*/private Byte isDeleted; }controller層
package com.atxinxin.hospital.controller;/*** 醫院設置表 前端控制器** @author xinxin 2022-10-12*/ @Api(tags = "醫院設置表相關接口") @RestController @RequestMapping("/hospital/hospitalSet") public class HospitalSetController {@Autowiredprivate HospitalSetService hospitalSetService;@ApiOperation("醫院設置導入")@PostMapping(value = "/importExcel")public void importExcel(@RequestParam("file") MultipartFile file) throws Exception {hospitalSetService.importExcel(file);}}service層
package com.atxinxin.hospital.service;/*** @author weixinxin*/ @Service @Slf4j public class HospitalSetService {@Autowiredprivate HospitalSetMapper hospitalSetMapper;/*** 導入** @param file 文件*/public void importExcel(MultipartFile file) throws Exception {//輸入流InputStream inputStream = file.getInputStream();//importparams參數設置ImportParams params = new ImportParams();params.setTitleRows(0);params.setHeadRows(1);params.setStartRows(0);params.setStartSheetIndex(0);params.setVerifyHandler(null);//ExcelImportUtil工具List<HospitalSetPO> list = ExcelImportUtil.importExcel(inputStream, HospitalSetPO.class, params);if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(list)) {log.error("導入信息不能為空");}//遍歷list集合寫入數據list.stream().forEach(hospitalSetPO -> {hospitalSetPO.setCreateTime(LocalDateTime.now());hospitalSetPO.setUpdateTime(LocalDateTime.now());hospitalSetMapper.insert(hospitalSetPO);});} }Mapper層
package com.atxinxin.hospital.mapper;/*** 醫院設置表 Mapper 接口** @author xinxin 2022-10-12*/ @Mapper public interface HospitalSetMapper extends BaseMapper<HospitalSetPO> {}IService層
package com.atxinxin.hospital.service;/*** 醫院設置表 服務類** @author weixinxin 2022-10-12*/ public interface IHospitalSetService extends IService<HospitalSetPO> {}IServiceImpl層
package com.atxinxin.hospital.service.impl;/*** 醫院設置表 服務實現類** @author weixinxin 2022-10-12*/ @Service public class HospitalSetServiceImpl extends ServiceImpl<HospitalSetMapper, HospitalSetPO> implements IHospitalSetService {}?
?
總結
以上是生活随笔為你收集整理的springBoot将excel文件数据导入数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Volley框架的使用
- 下一篇: Go错误处理 11