|
@@ -1,5 +1,6 @@
|
|
package com.slibra.web.controller.business;
|
|
package com.slibra.web.controller.business;
|
|
|
|
|
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
import com.alibaba.fastjson2.JSON;
|
|
import com.alibaba.fastjson2.JSON;
|
|
import com.slibra.business.domain.*;
|
|
import com.slibra.business.domain.*;
|
|
import com.slibra.business.mapper.*;
|
|
import com.slibra.business.mapper.*;
|
|
@@ -14,6 +15,7 @@ import com.slibra.common.core.domain.entity.SysUser;
|
|
import com.slibra.common.exception.ServiceException;
|
|
import com.slibra.common.exception.ServiceException;
|
|
import com.slibra.common.utils.StringUtils;
|
|
import com.slibra.common.utils.StringUtils;
|
|
import com.slibra.common.utils.poi.ExcelUtil;
|
|
import com.slibra.common.utils.poi.ExcelUtil;
|
|
|
|
+import com.slibra.web.controller.listener.UserDataListener;
|
|
import io.micrometer.core.annotation.Timed;
|
|
import io.micrometer.core.annotation.Timed;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.ibatis.session.ExecutorType;
|
|
import org.apache.ibatis.session.ExecutorType;
|
|
@@ -170,7 +172,7 @@ public class ExcelController extends BaseController {
|
|
* 将Excel中的用户数据 导入到数据库中
|
|
* 将Excel中的用户数据 导入到数据库中
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- @GetMapping("/userExcel2DB")
|
|
|
|
|
|
+// @GetMapping("/userExcel2DB")
|
|
@Transactional
|
|
@Transactional
|
|
public String userExcel2DB(){
|
|
public String userExcel2DB(){
|
|
long begin = System.currentTimeMillis();
|
|
long begin = System.currentTimeMillis();
|
|
@@ -184,6 +186,7 @@ public class ExcelController extends BaseController {
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
|
|
+ System.out.println("要处理的数据条数为:" + dataList.size());
|
|
if (!CollectionUtils.isEmpty(dataList)) {
|
|
if (!CollectionUtils.isEmpty(dataList)) {
|
|
/*SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
|
/*SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
|
TUserInfoMapper sqlSessionMapper = sqlSession.getMapper(TUserInfoMapper.class);*/
|
|
TUserInfoMapper sqlSessionMapper = sqlSession.getMapper(TUserInfoMapper.class);*/
|
|
@@ -218,6 +221,23 @@ public class ExcelController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * 将Excel中的用户数据 导入到数据库中--减少内存使用
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @GetMapping("/userExcel2DBFetch")
|
|
|
|
+ @Transactional
|
|
|
|
+ public String userExcel2DBFetch(){
|
|
|
|
+ String fileName = "/Users/wangmiaomiao/Documents/Excel/jmsuser.xlsx"; // Excel文件路径
|
|
|
|
+ SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
|
|
|
+ TUserInfoMapper sqlSessionMapper = sqlSession.getMapper(TUserInfoMapper.class);
|
|
|
|
+ // 读取Excel文件
|
|
|
|
+ EasyExcel.read(fileName, UserExcelInfo.class, new UserDataListener(sqlSession, sqlSessionMapper))
|
|
|
|
+ .sheet("全部可用个人信息") // 读取第一个工作表
|
|
|
|
+ .doRead(); // 触发实际的读取操作
|
|
|
|
+ return "操作成功";
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|