From 9cca670aa5dd88191646379a0065217ba2b3dbd2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C2=96donting?= <596643891@qq.com>
Date: Fri, 28 Dec 2018 16:23:50 +0800
Subject: [PATCH 1/3] errr
---
pom.xml | 19 +++-
.../JpaRepository/AdminJpaRepository.java | 20 ++++
.../OnlineExaminationApplication.java | 6 ++
src/main/java/com/gongjian/control/Admin.java | 93 +++++++++++++++++++
src/main/java/com/gongjian/dao/AdminDao.java | 24 +++++
.../entity/ExaminationpaperEntity.java | 2 +
.../gongjian/entity/QuestionbankEntity.java | 2 +
src/main/java/com/gongjian/filter/fieter.java | 4 +-
src/main/java/com/gongjian/util/Json.java | 12 +--
src/main/resources/application.properties | 8 +-
src/test/java/com/gongjian/testPOI.java | 56 +++++++++++
11 files changed, 236 insertions(+), 10 deletions(-)
create mode 100644 src/main/java/com/gongjian/JpaRepository/AdminJpaRepository.java
create mode 100644 src/main/java/com/gongjian/control/Admin.java
create mode 100644 src/main/java/com/gongjian/dao/AdminDao.java
create mode 100644 src/test/java/com/gongjian/testPOI.java
diff --git a/pom.xml b/pom.xml
index a66ca1a..c3f2f82 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,11 +39,13 @@
spring-boot-starter-test
test
+
mysql
mysql-connector-java
-
+ 5.1.13
+
com.vaadin.external.google
android-json
@@ -51,6 +53,21 @@
compile
+
+
+
+ org.apache.poi
+ poi
+ RELEASE
+
+
+
+ org.apache.poi
+ poi-ooxml
+ RELEASE
+
+
+
diff --git a/src/main/java/com/gongjian/JpaRepository/AdminJpaRepository.java b/src/main/java/com/gongjian/JpaRepository/AdminJpaRepository.java
new file mode 100644
index 0000000..b3bb4f1
--- /dev/null
+++ b/src/main/java/com/gongjian/JpaRepository/AdminJpaRepository.java
@@ -0,0 +1,20 @@
+package com.gongjian.JpaRepository;
+
+import com.gongjian.entity.AdminEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+
+import javax.transaction.Transactional;
+
+public interface AdminJpaRepository extends JpaRepository {
+
+
+ AdminEntity findByAdNameAndAdPass(String adName,String adPass);
+
+ @Transactional
+ @Modifying
+ @Query(nativeQuery = true, value = "update subject set is_visible=0 where su_id=1 ")
+ int ooo();
+
+}
diff --git a/src/main/java/com/gongjian/OnlineExaminationApplication.java b/src/main/java/com/gongjian/OnlineExaminationApplication.java
index 669676c..fe6a008 100644
--- a/src/main/java/com/gongjian/OnlineExaminationApplication.java
+++ b/src/main/java/com/gongjian/OnlineExaminationApplication.java
@@ -2,12 +2,15 @@ package com.gongjian;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.Bean;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
+import javax.servlet.MultipartConfigElement;
+
@SpringBootApplication
@ServletComponentScan
public class OnlineExaminationApplication {
@@ -20,6 +23,8 @@ public class OnlineExaminationApplication {
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
+ corsConfiguration.setAllowCredentials(true);//这两句不加不能跨域上传文件,
+ corsConfiguration.setMaxAge(3600l);//加上去就可以了
return corsConfiguration;
}
@@ -39,5 +44,6 @@ public class OnlineExaminationApplication {
}
+
}
diff --git a/src/main/java/com/gongjian/control/Admin.java b/src/main/java/com/gongjian/control/Admin.java
new file mode 100644
index 0000000..3e6dd89
--- /dev/null
+++ b/src/main/java/com/gongjian/control/Admin.java
@@ -0,0 +1,93 @@
+package com.gongjian.control;
+
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.gongjian.JpaRepository.AdminJpaRepository;
+import com.gongjian.dao.AdminDao;
+import com.gongjian.entity.AdminEntity;
+import com.gongjian.util.Json;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+@RestController
+public class Admin {
+
+ @Autowired
+ private AdminJpaRepository adminJpaRepository;
+
+ @RequestMapping("/admin/login")
+ public String login(String adName, String adPass, HttpSession session) {
+
+ AdminDao adminDao = new AdminDao(adminJpaRepository);
+ AdminEntity adminEntity = adminDao.login(adName, adPass);
+ if (adminEntity != null) {
+ Json json = new Json(200, "登录成功");
+ // ObjectMapper mapper = new ObjectMapper();
+ try {
+ // String date=mapper.writeValueAsString(adminEntity);
+ JSONObject admin = new JSONObject();
+ admin.put("adName", adminEntity.getAdName());
+ admin.put("adId", adminEntity.getAdId());
+ //admin.put("adName",adminEntity.getAdName());
+ session.setAttribute("user", admin);
+ json.put("data", admin);
+ return json.toString();
+ } catch (JSONException e) {
+ Json error = new Json(2002, "JSONException");
+ e.printStackTrace();
+ return error.toString();
+ }
+ } else {
+ Json json = new Json(400, "登录失败");
+ return json.toString();
+ }
+
+
+ }
+
+
+ /**
+ * 上传科目
+ * @param file
+ * @return
+ */
+ @PostMapping("/admin/upload/addSubject")
+ @ResponseBody
+ public String upload(@RequestParam("file") MultipartFile file) {
+ if (file.isEmpty()) {
+
+
+ return new Json(9001,"上传失败,请选择文件").toString();
+ }
+
+ String fileName = file.getOriginalFilename();
+ // String filePath = "/Users/itinypocket/workspace/temp/";
+ String filePath = "H:\\考试系统文件上传\\";
+ File dest = new File(filePath + fileName);
+ try {
+ file.transferTo(dest);
+
+
+
+ // LOGGER.info("上传成功");
+ return new Json(200," 上传成功").toString()
+ ;
+ } catch (IOException e) {
+ // LOGGER.error(e.toString(), e);
+ return new Json(200," IOException").toString();
+ }
+ }
+
+
+}
diff --git a/src/main/java/com/gongjian/dao/AdminDao.java b/src/main/java/com/gongjian/dao/AdminDao.java
new file mode 100644
index 0000000..6339521
--- /dev/null
+++ b/src/main/java/com/gongjian/dao/AdminDao.java
@@ -0,0 +1,24 @@
+package com.gongjian.dao;
+
+import com.gongjian.JpaRepository.AdminJpaRepository;
+import com.gongjian.entity.AdminEntity;
+
+public class AdminDao {
+ private AdminJpaRepository adminJpaRepository;
+
+ public AdminDao(AdminJpaRepository adminJpaRepository) {
+ this.adminJpaRepository = adminJpaRepository;
+ }
+
+
+ public AdminEntity login(String adName,String adPass){
+ return adminJpaRepository.findByAdNameAndAdPass(adName,adPass);
+
+ }
+
+ public void dee(){
+ adminJpaRepository.ooo();
+ }
+
+
+}
diff --git a/src/main/java/com/gongjian/entity/ExaminationpaperEntity.java b/src/main/java/com/gongjian/entity/ExaminationpaperEntity.java
index 322161a..a9b9ce9 100644
--- a/src/main/java/com/gongjian/entity/ExaminationpaperEntity.java
+++ b/src/main/java/com/gongjian/entity/ExaminationpaperEntity.java
@@ -1,5 +1,7 @@
package com.gongjian.entity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;
diff --git a/src/main/java/com/gongjian/entity/QuestionbankEntity.java b/src/main/java/com/gongjian/entity/QuestionbankEntity.java
index 1aad505..4608fbc 100644
--- a/src/main/java/com/gongjian/entity/QuestionbankEntity.java
+++ b/src/main/java/com/gongjian/entity/QuestionbankEntity.java
@@ -1,5 +1,7 @@
package com.gongjian.entity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
import javax.persistence.*;
import java.util.Date;
diff --git a/src/main/java/com/gongjian/filter/fieter.java b/src/main/java/com/gongjian/filter/fieter.java
index 8bec587..78ff778 100644
--- a/src/main/java/com/gongjian/filter/fieter.java
+++ b/src/main/java/com/gongjian/filter/fieter.java
@@ -24,7 +24,9 @@ public class fieter implements Filter {
HttpServletResponse response = (HttpServletResponse) servletResponse;
response.setHeader("Access-Control-Allow-Credentials", " true");
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
- filterChain.doFilter(request, response);
+
+ System.out.println("1321231");
+ filterChain.doFilter(servletRequest, servletResponse);
}
@Override
diff --git a/src/main/java/com/gongjian/util/Json.java b/src/main/java/com/gongjian/util/Json.java
index faf8479..267e8f8 100644
--- a/src/main/java/com/gongjian/util/Json.java
+++ b/src/main/java/com/gongjian/util/Json.java
@@ -5,20 +5,18 @@ import org.json.JSONException;
import org.json.JSONObject;
public class Json extends JSONObject {
- private JSONObject json;
+ // private JSONObject json;
public Json(int code, String messg) {
- json = new JSONObject();
+
try {
- json.put("messg", messg);
- json.put("code", code);
+ this.put("messg", messg);
+ this.put("code", code);
} catch (JSONException e) {
e.printStackTrace();
}
}
- public String toString() {
- return json.toString();
- }
+
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index d1f0e27..3997b14 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,8 +1,14 @@
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
+# ϴļֵܵ
+spring.servlet.multipart.max-request-size=10MB
+# ļֵ
+spring.servlet.multipart.max-file-size=10MB
spring.datasource.url=jdbc:mysql://localhost:3306/examination_system?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8
spring.datasource.username=user
spring.datasource.password=123456
-spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
\ No newline at end of file
+spring.datasource.driver-class-name:com.mysql.jdbc.Driver
+
+
diff --git a/src/test/java/com/gongjian/testPOI.java b/src/test/java/com/gongjian/testPOI.java
new file mode 100644
index 0000000..d3f20e1
--- /dev/null
+++ b/src/test/java/com/gongjian/testPOI.java
@@ -0,0 +1,56 @@
+package com.gongjian;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.*;
+import java.util.List;
+
+public class testPOI {
+
+ private static final String EXCEL_XLS = "xls";
+ private static final String EXCEL_XLSX = "xlsx";
+
+ public static void main(String[] args) throws Exception {
+
+ File excelFile = new File("d:/product.xlsx"); // 创建文件对象
+ FileInputStream in = new FileInputStream(excelFile); // 文件流
+ checkExcelVaild(excelFile);
+ Workbook workbook = getWorkbok(in,excelFile);
+
+
+ }
+
+
+ /**
+ * 判断Excel的版本,获取Workbook
+ * @param in
+ * @return
+ * @throws IOException
+ */
+ public static Workbook getWorkbok(InputStream in, File file) throws IOException{
+ Workbook wb = null;
+ if(file.getName().endsWith(EXCEL_XLS)){ //Excel 2003
+ wb = new HSSFWorkbook(in);
+ }else if(file.getName().endsWith(EXCEL_XLSX)){ // Excel 2007/2010
+ wb = new XSSFWorkbook(in);
+ }
+ return wb;
+ }
+
+ /**
+ * 判断文件是否是excel
+ * @throws Exception
+ */
+ public static void checkExcelVaild(File file) throws Exception{
+ if(!file.exists()){
+ throw new Exception("文件不存在");
+ }
+ if(!(file.isFile() && (file.getName().endsWith(EXCEL_XLS) || file.getName().endsWith(EXCEL_XLSX)))){
+ throw new Exception("文件不是Excel");
+ }
+ }
+
+}
--
Gitee
From b6b11420aa06177bc31d8d5fd8d4ff59a5db8bc2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C2=96donting?= <596643891@qq.com>
Date: Sat, 29 Dec 2018 11:31:04 +0800
Subject: [PATCH 2/3] 12/29 11:30
---
.../AdminJpaRepository.java | 2 +-
.../JpaRepositoryD/OptionsJpaRepository.java | 12 +
.../QuestionbankJpaRepository.java | 12 +
.../JpaRepositoryD/StudentJpaReposittory.java | 10 +
.../JpaRepositoryD/SubjectJpaRepository.java | 11 +
.../JpaRepositoryD/TeacherJpaReposittory.java | 9 +
.../test.java | 2 +-
.../gongjian/{control => controlD}/Admin.java | 47 +--
src/main/java/com/gongjian/controlD/File.java | 272 ++++++++++++++++++
.../gongjian/{control => controlD}/test.java | 2 +-
.../com/gongjian/{dao => daoD}/AdminDao.java | 19 +-
.../java/com/gongjian/daoD/OptionsDao.java | 24 ++
.../com/gongjian/daoD/QuestionbankDao.java | 25 ++
.../java/com/gongjian/daoD/StudentDao.java | 28 ++
.../java/com/gongjian/daoD/SubjectDao.java | 35 +++
.../java/com/gongjian/daoD/TeacherDao.java | 22 ++
.../java/com/gongjian/{dao => daoD}/test.java | 2 +-
.../com/gongjian/entity/OptionsEntity.java | 1 +
.../gongjian/entity/QuestionbankEntity.java | 1 +
.../com/gongjian/entity/StudentEntity.java | 1 +
.../com/gongjian/entity/SubjectEntity.java | 1 +
.../com/gongjian/entity/TeacherEntity.java | 1 +
.../java/com/gongjian/util/CreatExcel.java | 9 +
src/main/java/com/gongjian/util/Poi.java | 62 ++++
src/test/java/com/gongjian/testPOI.java | 65 +++--
25 files changed, 599 insertions(+), 76 deletions(-)
rename src/main/java/com/gongjian/{JpaRepository => JpaRepositoryD}/AdminJpaRepository.java (93%)
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/OptionsJpaRepository.java
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/QuestionbankJpaRepository.java
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/StudentJpaReposittory.java
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/SubjectJpaRepository.java
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/TeacherJpaReposittory.java
rename src/main/java/com/gongjian/{JpaRepository => JpaRepositoryD}/test.java (38%)
rename src/main/java/com/gongjian/{control => controlD}/Admin.java (54%)
create mode 100644 src/main/java/com/gongjian/controlD/File.java
rename src/main/java/com/gongjian/{control => controlD}/test.java (42%)
rename src/main/java/com/gongjian/{dao => daoD}/AdminDao.java (40%)
create mode 100644 src/main/java/com/gongjian/daoD/OptionsDao.java
create mode 100644 src/main/java/com/gongjian/daoD/QuestionbankDao.java
create mode 100644 src/main/java/com/gongjian/daoD/StudentDao.java
create mode 100644 src/main/java/com/gongjian/daoD/SubjectDao.java
create mode 100644 src/main/java/com/gongjian/daoD/TeacherDao.java
rename src/main/java/com/gongjian/{dao => daoD}/test.java (46%)
create mode 100644 src/main/java/com/gongjian/util/CreatExcel.java
create mode 100644 src/main/java/com/gongjian/util/Poi.java
diff --git a/src/main/java/com/gongjian/JpaRepository/AdminJpaRepository.java b/src/main/java/com/gongjian/JpaRepositoryD/AdminJpaRepository.java
similarity index 93%
rename from src/main/java/com/gongjian/JpaRepository/AdminJpaRepository.java
rename to src/main/java/com/gongjian/JpaRepositoryD/AdminJpaRepository.java
index b3bb4f1..607ddb8 100644
--- a/src/main/java/com/gongjian/JpaRepository/AdminJpaRepository.java
+++ b/src/main/java/com/gongjian/JpaRepositoryD/AdminJpaRepository.java
@@ -1,4 +1,4 @@
-package com.gongjian.JpaRepository;
+package com.gongjian.JpaRepositoryD;
import com.gongjian.entity.AdminEntity;
import org.springframework.data.jpa.repository.JpaRepository;
diff --git a/src/main/java/com/gongjian/JpaRepositoryD/OptionsJpaRepository.java b/src/main/java/com/gongjian/JpaRepositoryD/OptionsJpaRepository.java
new file mode 100644
index 0000000..19c67dc
--- /dev/null
+++ b/src/main/java/com/gongjian/JpaRepositoryD/OptionsJpaRepository.java
@@ -0,0 +1,12 @@
+package com.gongjian.JpaRepositoryD;
+
+
+import com.gongjian.entity.OptionsEntity;
+import com.gongjian.entity.QuestionbankEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface OptionsJpaRepository extends JpaRepository {
+
+
+
+}
diff --git a/src/main/java/com/gongjian/JpaRepositoryD/QuestionbankJpaRepository.java b/src/main/java/com/gongjian/JpaRepositoryD/QuestionbankJpaRepository.java
new file mode 100644
index 0000000..7e1cd8b
--- /dev/null
+++ b/src/main/java/com/gongjian/JpaRepositoryD/QuestionbankJpaRepository.java
@@ -0,0 +1,12 @@
+package com.gongjian.JpaRepositoryD;
+
+
+import com.gongjian.entity.QuestionbankEntity;
+import com.gongjian.entity.SubjectEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface QuestionbankJpaRepository extends JpaRepository {
+
+
+
+}
diff --git a/src/main/java/com/gongjian/JpaRepositoryD/StudentJpaReposittory.java b/src/main/java/com/gongjian/JpaRepositoryD/StudentJpaReposittory.java
new file mode 100644
index 0000000..31338dc
--- /dev/null
+++ b/src/main/java/com/gongjian/JpaRepositoryD/StudentJpaReposittory.java
@@ -0,0 +1,10 @@
+package com.gongjian.JpaRepositoryD;
+
+import com.gongjian.entity.StudentEntity;
+import com.gongjian.entity.TeacherEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface StudentJpaReposittory extends JpaRepository {
+
+
+}
diff --git a/src/main/java/com/gongjian/JpaRepositoryD/SubjectJpaRepository.java b/src/main/java/com/gongjian/JpaRepositoryD/SubjectJpaRepository.java
new file mode 100644
index 0000000..e4dda5c
--- /dev/null
+++ b/src/main/java/com/gongjian/JpaRepositoryD/SubjectJpaRepository.java
@@ -0,0 +1,11 @@
+package com.gongjian.JpaRepositoryD;
+
+
+import com.gongjian.entity.SubjectEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface SubjectJpaRepository extends JpaRepository {
+
+
+
+}
diff --git a/src/main/java/com/gongjian/JpaRepositoryD/TeacherJpaReposittory.java b/src/main/java/com/gongjian/JpaRepositoryD/TeacherJpaReposittory.java
new file mode 100644
index 0000000..643233a
--- /dev/null
+++ b/src/main/java/com/gongjian/JpaRepositoryD/TeacherJpaReposittory.java
@@ -0,0 +1,9 @@
+package com.gongjian.JpaRepositoryD;
+
+import com.gongjian.entity.TeacherEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface TeacherJpaReposittory extends JpaRepository {
+
+
+}
diff --git a/src/main/java/com/gongjian/JpaRepository/test.java b/src/main/java/com/gongjian/JpaRepositoryD/test.java
similarity index 38%
rename from src/main/java/com/gongjian/JpaRepository/test.java
rename to src/main/java/com/gongjian/JpaRepositoryD/test.java
index 8ccfb68..4527ab7 100644
--- a/src/main/java/com/gongjian/JpaRepository/test.java
+++ b/src/main/java/com/gongjian/JpaRepositoryD/test.java
@@ -1,4 +1,4 @@
-package com.gongjian.JpaRepository;
+package com.gongjian.JpaRepositoryD;
public class test {
}
diff --git a/src/main/java/com/gongjian/control/Admin.java b/src/main/java/com/gongjian/controlD/Admin.java
similarity index 54%
rename from src/main/java/com/gongjian/control/Admin.java
rename to src/main/java/com/gongjian/controlD/Admin.java
index 3e6dd89..a5b2db0 100644
--- a/src/main/java/com/gongjian/control/Admin.java
+++ b/src/main/java/com/gongjian/controlD/Admin.java
@@ -1,10 +1,9 @@
-package com.gongjian.control;
+package com.gongjian.controlD;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.gongjian.JpaRepository.AdminJpaRepository;
-import com.gongjian.dao.AdminDao;
+import com.gongjian.JpaRepositoryD.AdminJpaRepository;
+import com.gongjian.JpaRepositoryD.SubjectJpaRepository;
+import com.gongjian.daoD.AdminDao;
import com.gongjian.entity.AdminEntity;
import com.gongjian.util.Json;
import org.json.JSONException;
@@ -12,13 +11,8 @@ import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
@RestController
public class Admin {
@@ -26,6 +20,9 @@ public class Admin {
@Autowired
private AdminJpaRepository adminJpaRepository;
+ @Autowired
+ private SubjectJpaRepository subjectJpaRepository;
+
@RequestMapping("/admin/login")
public String login(String adName, String adPass, HttpSession session) {
@@ -57,37 +54,7 @@ public class Admin {
}
- /**
- * 上传科目
- * @param file
- * @return
- */
- @PostMapping("/admin/upload/addSubject")
- @ResponseBody
- public String upload(@RequestParam("file") MultipartFile file) {
- if (file.isEmpty()) {
-
-
- return new Json(9001,"上传失败,请选择文件").toString();
- }
-
- String fileName = file.getOriginalFilename();
- // String filePath = "/Users/itinypocket/workspace/temp/";
- String filePath = "H:\\考试系统文件上传\\";
- File dest = new File(filePath + fileName);
- try {
- file.transferTo(dest);
-
-
- // LOGGER.info("上传成功");
- return new Json(200," 上传成功").toString()
- ;
- } catch (IOException e) {
- // LOGGER.error(e.toString(), e);
- return new Json(200," IOException").toString();
- }
- }
}
diff --git a/src/main/java/com/gongjian/controlD/File.java b/src/main/java/com/gongjian/controlD/File.java
new file mode 100644
index 0000000..e3fa669
--- /dev/null
+++ b/src/main/java/com/gongjian/controlD/File.java
@@ -0,0 +1,272 @@
+package com.gongjian.controlD;
+
+import com.gongjian.JpaRepositoryD.*;
+import com.gongjian.daoD.*;
+import com.gongjian.entity.*;
+import com.gongjian.util.Json;
+import com.gongjian.util.Poi;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+@RestController
+public class File {
+ @Autowired
+ private SubjectJpaRepository subjectJpaRepository;
+ @Autowired
+ private StudentJpaReposittory studentJpaReposittory;
+ @Autowired
+ private TeacherJpaReposittory teacherJpaReposittory;
+ @Autowired
+ private QuestionbankJpaRepository questionbankJpaRepository;
+ @Autowired
+ private OptionsJpaRepository optionsJpaRepository;
+ /**
+ * 上传科目 |科目名|
+ * @param file
+ * @return
+ */
+ @PostMapping("/file/upload/addSubject")
+ @ResponseBody
+ public String addSubject(@RequestParam("file") MultipartFile file) {
+ if (file.isEmpty()) {
+ return new Json(9001, "上传失败,请选择文件").toString();
+ }
+ String fileName = file.getOriginalFilename();
+ // File dest = new File(filePath + fileName);
+ try {
+ InputStream inputStream = file.getInputStream();//文件流
+ // file.transferTo(dest);保存文件
+ Poi poi = new Poi(inputStream, fileName);
+ Sheet sheet = poi.getSheet(0);
+ List subjectEntities = new ArrayList<>();
+ SubjectDao subjectDao = new SubjectDao(subjectJpaRepository);
+
+
+ for (Row row : sheet) {
+ SubjectEntity subjectEntity = new SubjectEntity();
+ subjectEntity.setSuName(row.getCell(0).toString());
+ // System.out.println(row.getCell(0).toString());
+ subjectEntity.setIsVisible(1);
+ subjectEntity.setNote("121");
+ //subjectEntity.setSuId(0);
+ subjectEntities.add(subjectEntity);
+ }
+ subjectDao.importSubject(subjectEntities);
+
+ inputStream.close();
+
+ // LOGGER.info("上传成功");
+ return new Json(200, " 上传成功").toString()
+ ;
+ } catch (IOException e) {
+ // LOGGER.error(e.toString(), e);
+ return new Json(200, " IOException").toString();
+ } catch (NullPointerException e) {
+ return new Json(200, " NullPointerException:" + e.getMessage()).toString();
+ }
+
+ }
+
+
+
+ /**
+ * 导入老师 |工号|name|科目ID|权限int|
+ * @param file
+ * @return
+ */
+ @PostMapping("/file/upload/addTeacher")
+ @ResponseBody
+ public String addTeacher(@RequestParam("file") MultipartFile file) {
+
+ if (file.isEmpty()) {
+ return new Json(9001, "上传失败,请选择文件").toString();
+ }
+
+ String fileName = file.getOriginalFilename();
+ // File dest = new File(filePath + fileName);
+ try {
+ InputStream inputStream = file.getInputStream();//文件流
+ // file.transferTo(dest);保存文件
+ Poi poi = new Poi(inputStream, fileName);
+ Sheet sheet = poi.getSheet(0);
+ List teacherEntities=new ArrayList<>();
+ for (Row row : sheet) {
+ TeacherEntity teacherEntity=new TeacherEntity();
+ System.out.println((int)row.getCell(0).getNumericCellValue());
+ teacherEntity.setWorkNumber((int)row.getCell(0).getNumericCellValue());
+ teacherEntity.setTeName(row.getCell(1).toString());
+ teacherEntity.setTePass("123456");
+ teacherEntity.setSubjectsId((int)row.getCell(2).getNumericCellValue());
+ teacherEntity.setTePermission((int)row.getCell(3).getNumericCellValue());
+ teacherEntities.add(teacherEntity);
+ }
+ TeacherDao teacherDao=new TeacherDao(teacherJpaReposittory);
+ teacherDao.addTeacher(teacherEntities);
+ inputStream.close();
+
+ // LOGGER.info("上传成功");
+ return new Json(200, " 上传成功").toString()
+ ;
+ } catch (IOException e) {
+ // LOGGER.error(e.toString(), e);
+ return new Json(9004, " IOException").toString();
+ } catch (NullPointerException e) {
+ return new Json(9005, " NullPointerException:" + e.getMessage()+"文档不完整").toString();
+ }
+ catch (Exception e){
+ e.printStackTrace();
+ return new Json(9006, " Exception:" + e.getMessage()).toString();
+ }
+ }
+
+
+ /**
+ * 导入学生 |学号|name|
+ * @param file
+ * @return
+ */
+ @PostMapping("/file/upload/addStudent")
+ @ResponseBody
+ public String addStudent(@RequestParam("file") MultipartFile file) {
+
+ if (file.isEmpty()) {
+ return new Json(9001, "上传失败,请选择文件").toString();
+ }
+
+ String fileName = file.getOriginalFilename();
+ // File dest = new File(filePath + fileName);
+ try {
+ InputStream inputStream = file.getInputStream();//文件流
+ // file.transferTo(dest);保存文件
+ Poi poi = new Poi(inputStream, fileName);
+ Sheet sheet = poi.getSheet(0);
+ List studentEntities=new ArrayList<>();
+ for (Row row : sheet) {
+
+ StudentEntity studentEntity=new StudentEntity();
+ studentEntity.setIsVisible(1);
+ studentEntity.setStudentId((int)row.getCell(0).getNumericCellValue());
+ studentEntity.setStName(row.getCell(1).getStringCellValue());
+ studentEntity.setStPass("123456");
+ studentEntities.add(studentEntity);
+
+ }
+
+ StudentDao studentDao=new StudentDao(studentJpaReposittory);
+ studentDao.importSubject(studentEntities);
+ inputStream.close();
+
+ // LOGGER.info("上传成功");
+ return new Json(200, " 上传成功").toString()
+ ;
+ } catch (IOException e) {
+ // LOGGER.error(e.toString(), e);
+ return new Json(9004, " IOException").toString();
+ } catch (NullPointerException e) {
+ return new Json(9005, " NullPointerException:" + e.getMessage()+"文档不完整").toString();
+ }
+ catch (Exception e){
+ e.printStackTrace();
+ return new Json(9006, " Exception:" + e.getMessage()).toString();
+ }
+ }
+
+
+ /**
+ * 导入题库
+ * @param file
+ * @return
+ */
+ @PostMapping("/file/upload/addQuestionbank")
+ @ResponseBody
+ public String addQuestionbank(@RequestParam("file") MultipartFile file) {
+
+ if (file.isEmpty()) {
+ return new Json(9001, "上传失败,请选择文件").toString();
+ }
+
+ String fileName = file.getOriginalFilename();
+ // File dest = new File(filePath + fileName);
+ try {
+ InputStream inputStream = file.getInputStream();//文件流
+ // file.transferTo(dest);保存文件
+ Poi poi = new Poi(inputStream, fileName);
+ Sheet sheet = poi.getSheet(0);
+ List questionbankEntities=new ArrayList<>();
+ List optionsEntities=new ArrayList<>();
+ for (Row row : sheet) {
+ QuestionbankEntity questionbankEntity=new QuestionbankEntity();
+ questionbankEntity.setQuTitle(row.getCell(0).getStringCellValue());
+ questionbankEntity.setSubjectsId((int)row.getCell(1).getNumericCellValue());
+ questionbankEntity.setQuAnswer(row.getCell(2).getStringCellValue());
+ questionbankEntity.setAddTime(new Date());
+ questionbankEntity.setModifyTime(new Date());
+ OptionsEntity o1=new OptionsEntity();
+ o1.setOpKey(row.getCell(3).getStringCellValue());
+ o1.setOpValue(row.getCell(4).getStringCellValue());
+
+ OptionsEntity o2=new OptionsEntity();
+ o2.setOpKey(row.getCell(5).getStringCellValue());
+ o2.setOpValue(row.getCell(6).getStringCellValue());
+
+ OptionsEntity o3=new OptionsEntity();
+ o3.setOpKey(row.getCell(7).getStringCellValue());
+ o3.setOpValue(row.getCell(8).getStringCellValue());
+
+ OptionsEntity o4=new OptionsEntity();
+ o4.setOpKey(row.getCell(9).getStringCellValue());
+ o4.setOpValue(row.getCell(10).getStringCellValue());
+
+ optionsEntities.add(o1);
+ optionsEntities.add(o2);
+ optionsEntities.add(o3);
+ optionsEntities.add(o4);
+ questionbankEntities.add(questionbankEntity);
+ }
+ QuestionbankDao questionbankDao=new QuestionbankDao(questionbankJpaRepository);
+ List questionbankEntityList= questionbankDao.addTeacher(questionbankEntities);
+
+ int i=0;
+
+ for (QuestionbankEntity q: questionbankEntities
+ ) {
+ int qid=q.getQuId();
+ for(int j=0;j<4;j++,i++){
+ optionsEntities.get(i).setQuestionBankId(qid);
+ }
+ }
+
+ OptionsDao optionsDao=new OptionsDao(optionsJpaRepository);
+ optionsDao.addOptions(optionsEntities);
+
+ inputStream.close();
+
+ // LOGGER.info("上传成功");
+ return new Json(200, " 上传成功").toString()
+ ;
+ } catch (IOException e) {
+ // LOGGER.error(e.toString(), e);
+ return new Json(9004, " IOException").toString();
+ } catch (NullPointerException e) {
+ return new Json(9005, " NullPointerException:" + e.getMessage()+"文档不完整").toString();
+ }
+ catch (Exception e){
+ e.printStackTrace();
+ return new Json(9006, " Exception:" + e.getMessage()).toString();
+ }
+ }
+
+}
diff --git a/src/main/java/com/gongjian/control/test.java b/src/main/java/com/gongjian/controlD/test.java
similarity index 42%
rename from src/main/java/com/gongjian/control/test.java
rename to src/main/java/com/gongjian/controlD/test.java
index 2f1b815..bcd1258 100644
--- a/src/main/java/com/gongjian/control/test.java
+++ b/src/main/java/com/gongjian/controlD/test.java
@@ -1,4 +1,4 @@
-package com.gongjian.control;
+package com.gongjian.controlD;
public class test {
}
diff --git a/src/main/java/com/gongjian/dao/AdminDao.java b/src/main/java/com/gongjian/daoD/AdminDao.java
similarity index 40%
rename from src/main/java/com/gongjian/dao/AdminDao.java
rename to src/main/java/com/gongjian/daoD/AdminDao.java
index 6339521..61bacf3 100644
--- a/src/main/java/com/gongjian/dao/AdminDao.java
+++ b/src/main/java/com/gongjian/daoD/AdminDao.java
@@ -1,12 +1,24 @@
-package com.gongjian.dao;
+package com.gongjian.daoD;
-import com.gongjian.JpaRepository.AdminJpaRepository;
+import com.gongjian.JpaRepositoryD.AdminJpaRepository;
+import com.gongjian.JpaRepositoryD.SubjectJpaRepository;
import com.gongjian.entity.AdminEntity;
+import org.springframework.beans.factory.annotation.Autowired;
public class AdminDao {
+ @Autowired
private AdminJpaRepository adminJpaRepository;
+ @Autowired
+ private SubjectJpaRepository subjectJpaRepository;
- public AdminDao(AdminJpaRepository adminJpaRepository) {
+ public AdminDao(AdminJpaRepository adminJpaRepository, SubjectJpaRepository subjectJpaRepository) {
+ this.adminJpaRepository = adminJpaRepository;
+ this.subjectJpaRepository = subjectJpaRepository;
+ }
+
+
+ public AdminDao(AdminJpaRepository adminJpaRepository)
+ {
this.adminJpaRepository = adminJpaRepository;
}
@@ -21,4 +33,5 @@ public class AdminDao {
}
+
}
diff --git a/src/main/java/com/gongjian/daoD/OptionsDao.java b/src/main/java/com/gongjian/daoD/OptionsDao.java
new file mode 100644
index 0000000..514343d
--- /dev/null
+++ b/src/main/java/com/gongjian/daoD/OptionsDao.java
@@ -0,0 +1,24 @@
+package com.gongjian.daoD;
+
+import com.gongjian.JpaRepositoryD.OptionsJpaRepository;
+import com.gongjian.JpaRepositoryD.TeacherJpaReposittory;
+import com.gongjian.entity.OptionsEntity;
+import com.gongjian.entity.TeacherEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+public class OptionsDao {
+ @Autowired
+ private OptionsJpaRepository optionsJpaRepository;
+ public OptionsDao(OptionsJpaRepository optionsJpaRepository)
+ {
+ this.optionsJpaRepository=optionsJpaRepository;
+ }
+
+
+ public boolean addOptions(List teacherEntities){
+ optionsJpaRepository.saveAll(teacherEntities);
+ return true;
+ }
+}
diff --git a/src/main/java/com/gongjian/daoD/QuestionbankDao.java b/src/main/java/com/gongjian/daoD/QuestionbankDao.java
new file mode 100644
index 0000000..6baae9c
--- /dev/null
+++ b/src/main/java/com/gongjian/daoD/QuestionbankDao.java
@@ -0,0 +1,25 @@
+package com.gongjian.daoD;
+
+import com.gongjian.JpaRepositoryD.QuestionbankJpaRepository;
+import com.gongjian.entity.QuestionbankEntity;
+import com.gongjian.entity.TeacherEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+import java.util.List;
+
+public class QuestionbankDao {
+ @Autowired
+ private QuestionbankJpaRepository questionbankJpaRepository;
+
+ public QuestionbankDao(QuestionbankJpaRepository questionbankJpaRepository) {
+ this.questionbankJpaRepository=questionbankJpaRepository;
+ }
+
+
+ public List addTeacher(List questionbankEntities){
+ return questionbankJpaRepository.saveAll(questionbankEntities);
+
+
+ }
+}
diff --git a/src/main/java/com/gongjian/daoD/StudentDao.java b/src/main/java/com/gongjian/daoD/StudentDao.java
new file mode 100644
index 0000000..abbd4a6
--- /dev/null
+++ b/src/main/java/com/gongjian/daoD/StudentDao.java
@@ -0,0 +1,28 @@
+package com.gongjian.daoD;
+
+import com.gongjian.JpaRepositoryD.AdminJpaRepository;
+import com.gongjian.JpaRepositoryD.StudentJpaReposittory;
+import com.gongjian.entity.StudentEntity;
+import com.gongjian.entity.SubjectEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+public class StudentDao {
+ @Autowired
+ private StudentJpaReposittory studentJpaReposittory;
+
+ public StudentDao(StudentJpaReposittory studentJpaReposittory) {
+ this.studentJpaReposittory=studentJpaReposittory;
+ }
+
+
+ public boolean importSubject( List studentEntities){
+
+
+ studentJpaReposittory.saveAll(studentEntities);
+
+ // System.out.println(subj.size()+"===00000");
+ return true;
+ }
+}
diff --git a/src/main/java/com/gongjian/daoD/SubjectDao.java b/src/main/java/com/gongjian/daoD/SubjectDao.java
new file mode 100644
index 0000000..b299be7
--- /dev/null
+++ b/src/main/java/com/gongjian/daoD/SubjectDao.java
@@ -0,0 +1,35 @@
+package com.gongjian.daoD;
+
+import com.gongjian.JpaRepositoryD.SubjectJpaRepository;
+import com.gongjian.entity.SubjectEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+public class SubjectDao {
+ @Autowired
+ private SubjectJpaRepository subjectJpaRepository;
+
+ public SubjectDao(SubjectJpaRepository subjectJpaRepository) {
+ this.subjectJpaRepository = subjectJpaRepository;
+ }
+
+ public boolean importSubject( List subjectEntities){
+
+
+ for (SubjectEntity s:subjectEntities
+ ) {
+ subjectJpaRepository.save(s);
+ }
+ // System.out.println(subj.size()+"===00000");
+ return true;
+ }
+ public boolean save(SubjectEntity subjectEntities){
+
+
+
+ subjectJpaRepository.save(subjectEntities);
+ // System.out.println(subj.size()+"===00000");
+ return true;
+ }
+}
diff --git a/src/main/java/com/gongjian/daoD/TeacherDao.java b/src/main/java/com/gongjian/daoD/TeacherDao.java
new file mode 100644
index 0000000..6eda374
--- /dev/null
+++ b/src/main/java/com/gongjian/daoD/TeacherDao.java
@@ -0,0 +1,22 @@
+package com.gongjian.daoD;
+
+import com.gongjian.JpaRepositoryD.SubjectJpaRepository;
+import com.gongjian.JpaRepositoryD.TeacherJpaReposittory;
+import com.gongjian.entity.TeacherEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+public class TeacherDao {
+ @Autowired
+ private TeacherJpaReposittory teacherJpaReposittory;
+ public TeacherDao(TeacherJpaReposittory teacherJpaReposittory) {
+ this.teacherJpaReposittory=teacherJpaReposittory;
+ }
+
+
+ public boolean addTeacher(List teacherEntities){
+ teacherJpaReposittory.saveAll(teacherEntities);
+ return true;
+ }
+}
diff --git a/src/main/java/com/gongjian/dao/test.java b/src/main/java/com/gongjian/daoD/test.java
similarity index 46%
rename from src/main/java/com/gongjian/dao/test.java
rename to src/main/java/com/gongjian/daoD/test.java
index 1e7c4e1..3025af9 100644
--- a/src/main/java/com/gongjian/dao/test.java
+++ b/src/main/java/com/gongjian/daoD/test.java
@@ -1,4 +1,4 @@
-package com.gongjian.dao;
+package com.gongjian.daoD;
public class test {
}
diff --git a/src/main/java/com/gongjian/entity/OptionsEntity.java b/src/main/java/com/gongjian/entity/OptionsEntity.java
index 581297d..95d91cb 100644
--- a/src/main/java/com/gongjian/entity/OptionsEntity.java
+++ b/src/main/java/com/gongjian/entity/OptionsEntity.java
@@ -13,6 +13,7 @@ public class OptionsEntity {
@Id
@Column(name = "op_id", nullable = false)
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
public int getOpId() {
return opId;
}
diff --git a/src/main/java/com/gongjian/entity/QuestionbankEntity.java b/src/main/java/com/gongjian/entity/QuestionbankEntity.java
index 4608fbc..6890764 100644
--- a/src/main/java/com/gongjian/entity/QuestionbankEntity.java
+++ b/src/main/java/com/gongjian/entity/QuestionbankEntity.java
@@ -24,6 +24,7 @@ public class QuestionbankEntity {
@Id
@Column(name = "qu_id", nullable = false)
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
public int getQuId() {
return quId;
}
diff --git a/src/main/java/com/gongjian/entity/StudentEntity.java b/src/main/java/com/gongjian/entity/StudentEntity.java
index 7fc53e4..e532f67 100644
--- a/src/main/java/com/gongjian/entity/StudentEntity.java
+++ b/src/main/java/com/gongjian/entity/StudentEntity.java
@@ -15,6 +15,7 @@ public class StudentEntity {
@Id
@Column(name = "st_id", nullable = false)
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
public int getStId() {
return stId;
}
diff --git a/src/main/java/com/gongjian/entity/SubjectEntity.java b/src/main/java/com/gongjian/entity/SubjectEntity.java
index 782b725..11e6b3c 100644
--- a/src/main/java/com/gongjian/entity/SubjectEntity.java
+++ b/src/main/java/com/gongjian/entity/SubjectEntity.java
@@ -13,6 +13,7 @@ public class SubjectEntity {
@Id
@Column(name = "su_id", nullable = false)
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
public int getSuId() {
return suId;
}
diff --git a/src/main/java/com/gongjian/entity/TeacherEntity.java b/src/main/java/com/gongjian/entity/TeacherEntity.java
index a29193a..abdab30 100644
--- a/src/main/java/com/gongjian/entity/TeacherEntity.java
+++ b/src/main/java/com/gongjian/entity/TeacherEntity.java
@@ -15,6 +15,7 @@ public class TeacherEntity {
@Id
@Column(name = "te_id", nullable = false)
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
public int getTeId() {
return teId;
}
diff --git a/src/main/java/com/gongjian/util/CreatExcel.java b/src/main/java/com/gongjian/util/CreatExcel.java
new file mode 100644
index 0000000..15d1371
--- /dev/null
+++ b/src/main/java/com/gongjian/util/CreatExcel.java
@@ -0,0 +1,9 @@
+package com.gongjian.util;
+
+public class CreatExcel {
+
+
+
+
+
+}
diff --git a/src/main/java/com/gongjian/util/Poi.java b/src/main/java/com/gongjian/util/Poi.java
new file mode 100644
index 0000000..7f16cdc
--- /dev/null
+++ b/src/main/java/com/gongjian/util/Poi.java
@@ -0,0 +1,62 @@
+package com.gongjian.util;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class Poi {
+
+ InputStream inputStream;//文件流
+ String name;
+ private static final String EXCEL_XLS = "xls";
+ private static final String EXCEL_XLSX = "xlsx";
+
+ public Poi(InputStream inputStream,String name) {
+ this.inputStream = inputStream;
+this.name=name;
+
+ }
+ /**
+ * 判断Excel的版本,获取Workbook
+ * @param
+ * @return
+ * @throws IOException
+ */
+ public Workbook getWorkbok() throws IOException{
+ Workbook wb = null;
+ if(name.endsWith(EXCEL_XLS)){ //Excel 2003
+ wb = new HSSFWorkbook(inputStream);
+ }else if(name.endsWith(EXCEL_XLSX)){ // Excel 2007/2010
+ wb = new XSSFWorkbook(inputStream);
+ }
+ return wb;
+ }
+
+ /**
+ * 获取页
+ * @param i
+ * @return
+ * @throws IOException
+ */
+ public Sheet getSheet(int i) throws IOException,NullPointerException{
+
+ try {
+ return getWorkbok().getSheetAt(i);
+
+ }catch (NullPointerException e){
+ throw new NullPointerException("不是exle");
+ }
+ catch (IOException e){
+ throw new NullPointerException("IOException");
+ }
+
+
+ }
+
+
+}
diff --git a/src/test/java/com/gongjian/testPOI.java b/src/test/java/com/gongjian/testPOI.java
index d3f20e1..8835cb5 100644
--- a/src/test/java/com/gongjian/testPOI.java
+++ b/src/test/java/com/gongjian/testPOI.java
@@ -1,6 +1,8 @@
package com.gongjian;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;
@@ -15,42 +17,47 @@ public class testPOI {
public static void main(String[] args) throws Exception {
- File excelFile = new File("d:/product.xlsx"); // 创建文件对象
+ File excelFile = new File("C:\\Users\\董浩\\Desktop\\新建Microsoft Excel 工作表.xlsx"); // 创建文件对象
FileInputStream in = new FileInputStream(excelFile); // 文件流
checkExcelVaild(excelFile);
Workbook workbook = getWorkbok(in,excelFile);
-
-
- }
+ Sheet sheet = workbook.getSheetAt(0); // 遍历第1个Sheet
+ for (Row row : sheet) {//行
+ System.out.println(row.getCell(0).toString());
- /**
- * 判断Excel的版本,获取Workbook
- * @param in
- * @return
- * @throws IOException
- */
- public static Workbook getWorkbok(InputStream in, File file) throws IOException{
- Workbook wb = null;
- if(file.getName().endsWith(EXCEL_XLS)){ //Excel 2003
- wb = new HSSFWorkbook(in);
- }else if(file.getName().endsWith(EXCEL_XLSX)){ // Excel 2007/2010
- wb = new XSSFWorkbook(in);
}
- return wb;
- }
- /**
- * 判断文件是否是excel
- * @throws Exception
- */
- public static void checkExcelVaild(File file) throws Exception{
- if(!file.exists()){
- throw new Exception("文件不存在");
- }
- if(!(file.isFile() && (file.getName().endsWith(EXCEL_XLS) || file.getName().endsWith(EXCEL_XLSX)))){
- throw new Exception("文件不是Excel");
- }
}
+
+ /**
+ * 判断Excel的版本,获取Workbook
+ * @param in
+ * @return
+ * @throws IOException
+ */
+ public static Workbook getWorkbok(InputStream in, File file) throws IOException{
+ Workbook wb = null;
+ if(file.getName().endsWith(EXCEL_XLS)){ //Excel 2003
+ wb = new HSSFWorkbook(in);
+ }else if(file.getName().endsWith(EXCEL_XLSX)){ // Excel 2007/2010
+ wb = new XSSFWorkbook(in);
+ }
+ return wb;
+ }
+
+ /**
+ * 判断文件是否是excel
+ * @throws Exception
+ */
+ public static void checkExcelVaild(File file) throws Exception{
+ if(!file.exists()){
+ throw new Exception("文件不存在");
+ }
+ if(!(file.isFile() && (file.getName().endsWith(EXCEL_XLS) || file.getName().endsWith(EXCEL_XLSX)))){
+ throw new Exception("文件不是Excel");
+ }
+ }
+
}
--
Gitee
From 4184ac696f89be8664ab5c049583bf8f02be928d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C2=96donting?= <596643891@qq.com>
Date: Fri, 4 Jan 2019 23:05:15 +0800
Subject: [PATCH 3/3] popop
---
.../JpaRepositoryD/ExToQuJpaRepository.java | 11 +
.../ExaminationpaperRepository.java | 86 ++++
.../QuestionbankJpaRepository.java | 10 +
.../JpaRepositoryD/ScoreJpaRepository.java | 14 +
.../JpaRepositoryD/StToSuJpaRepository.java | 15 +
.../JpaRepositoryD/StudentJpaReposittory.java | 2 +
.../JpaRepositoryD/TeacherJpaReposittory.java | 2 +-
.../java/com/gongjian/controlD/Admin.java | 4 +-
.../gongjian/controlD/Examinationpaper.java | 101 ++++
src/main/java/com/gongjian/controlD/File.java | 20 +-
.../java/com/gongjian/controlD/Student.java | 115 +++++
.../java/com/gongjian/controlD/Teacher.java | 53 +++
.../java/com/gongjian/daoD/ExToQuDao.java | 11 +
.../gongjian/daoD/ExaminationpaperDao.java | 445 ++++++++++++++++++
src/main/java/com/gongjian/daoD/Qusetion.java | 17 +
.../java/com/gongjian/daoD/StudentDao.java | 10 +
.../java/com/gongjian/daoD/TeacherDao.java | 6 +
.../com/gongjian/entity/ExToQuEntity.java | 1 +
.../entity/ExaminationpaperEntity.java | 5 +
.../java/com/gongjian/entity/ScoreEntity.java | 3 +-
.../gongjian/{util => utilD}/CreatExcel.java | 2 +-
.../com/gongjian/{util => utilD}/DbtoUp.java | 2 +-
.../com/gongjian/{util => utilD}/Json.java | 2 +-
.../com/gongjian/{util => utilD}/Poi.java | 3 +-
src/main/java/com/gongjian/utilD/Static.java | 5 +
25 files changed, 927 insertions(+), 18 deletions(-)
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/ExToQuJpaRepository.java
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/ExaminationpaperRepository.java
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/ScoreJpaRepository.java
create mode 100644 src/main/java/com/gongjian/JpaRepositoryD/StToSuJpaRepository.java
create mode 100644 src/main/java/com/gongjian/controlD/Examinationpaper.java
create mode 100644 src/main/java/com/gongjian/controlD/Student.java
create mode 100644 src/main/java/com/gongjian/controlD/Teacher.java
create mode 100644 src/main/java/com/gongjian/daoD/ExToQuDao.java
create mode 100644 src/main/java/com/gongjian/daoD/ExaminationpaperDao.java
create mode 100644 src/main/java/com/gongjian/daoD/Qusetion.java
rename src/main/java/com/gongjian/{util => utilD}/CreatExcel.java (54%)
rename src/main/java/com/gongjian/{util => utilD}/DbtoUp.java (98%)
rename src/main/java/com/gongjian/{util => utilD}/Json.java (92%)
rename src/main/java/com/gongjian/{util => utilD}/Poi.java (96%)
create mode 100644 src/main/java/com/gongjian/utilD/Static.java
diff --git a/src/main/java/com/gongjian/JpaRepositoryD/ExToQuJpaRepository.java b/src/main/java/com/gongjian/JpaRepositoryD/ExToQuJpaRepository.java
new file mode 100644
index 0000000..560e91a
--- /dev/null
+++ b/src/main/java/com/gongjian/JpaRepositoryD/ExToQuJpaRepository.java
@@ -0,0 +1,11 @@
+package com.gongjian.JpaRepositoryD;
+
+import com.gongjian.entity.ExToQuEntity;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+
+public interface ExToQuJpaRepository extends JpaRepository {
+
+
+}
diff --git a/src/main/java/com/gongjian/JpaRepositoryD/ExaminationpaperRepository.java b/src/main/java/com/gongjian/JpaRepositoryD/ExaminationpaperRepository.java
new file mode 100644
index 0000000..371e365
--- /dev/null
+++ b/src/main/java/com/gongjian/JpaRepositoryD/ExaminationpaperRepository.java
@@ -0,0 +1,86 @@
+package com.gongjian.JpaRepositoryD;
+
+import com.gongjian.entity.AdminEntity;
+import com.gongjian.entity.ExaminationpaperEntity;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.transaction.Transactional;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public interface ExaminationpaperRepository extends JpaRepository {
+
+ ExaminationpaperEntity findByExId(int exId);
+
+
+
+/*
+ @Query(value = "select ex.*,qu.qu_id,qu.qu_title,qu.qu_answer,op.* From examinationpaper as ex \n" +
+ "left join ex_to_qu as etq on ex.ex_id=etq.ex_id \n" +
+ "left join questionbank as qu on qu.qu_id=etq.qu_id\n" +
+ "right join `options` as op on op.question_bank_id=qu.qu_id\n" +
+ "where ex.ex_id=:exId\n" +
+ "order by etq.exq_id,op.op_id asc",nativeQuery = true)
+ public List