diff --git a/springboot/springboot.iml b/springboot/springboot.iml index 1404bede..10f8a46e 100644 --- a/springboot/springboot.iml +++ b/springboot/springboot.iml @@ -1,77 +1,14 @@ + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/springboot/src/main/java/com/example/common/RoleEnum.java b/springboot/src/main/java/com/example/common/RoleEnum.java new file mode 100644 index 00000000..e610c744 --- /dev/null +++ b/springboot/src/main/java/com/example/common/RoleEnum.java @@ -0,0 +1,6 @@ +package com.example.common; + +public enum RoleEnum { + ADMIN, // 管理员 + STUDENT // 学生 +} diff --git a/springboot/src/main/java/com/example/controller/CourseController.java b/springboot/src/main/java/com/example/controller/CourseController.java new file mode 100644 index 00000000..8a62b3f2 --- /dev/null +++ b/springboot/src/main/java/com/example/controller/CourseController.java @@ -0,0 +1,30 @@ +package com.example.controller; + +import com.example.common.Result; +import com.example.entity.Course; +import com.example.service.CourseService; +import com.github.pagehelper.PageInfo; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@RestController +@RequestMapping("/course") + +public class CourseController { + + @Resource + private CourseService courseService; + + @GetMapping("/selectPage") + public Result selectPage(@RequestParam(defaultValue = "1") Integer pageNum, + @RequestParam(defaultValue = "5") Integer pageSize) { + PageInfo pageInfo = courseService.selectPage(pageNum, pageSize); + return Result.success(pageInfo); + } + + +} diff --git a/springboot/src/main/java/com/example/controller/StudentController.java b/springboot/src/main/java/com/example/controller/StudentController.java new file mode 100644 index 00000000..a719b10e --- /dev/null +++ b/springboot/src/main/java/com/example/controller/StudentController.java @@ -0,0 +1,4 @@ +package com.example.controller; + +public class StudentController { +} diff --git a/springboot/src/main/java/com/example/controller/WebController.java b/springboot/src/main/java/com/example/controller/WebController.java index cfeb9c92..b7df655f 100644 --- a/springboot/src/main/java/com/example/controller/WebController.java +++ b/springboot/src/main/java/com/example/controller/WebController.java @@ -1,8 +1,12 @@ package com.example.controller; +import cn.hutool.core.util.ObjectUtil; import com.example.common.Result; +import com.example.common.RoleEnum; +import com.example.entity.Account; import com.example.entity.Admin; import com.example.service.AdminService; +import com.example.service.StudentService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -16,6 +20,8 @@ public class WebController { @Resource private AdminService adminService; + @Resource + private StudentService studentService; /** * 默认请求接口 @@ -28,9 +34,28 @@ public class WebController { /** * 登录接口 */ -@PostMapping("/login") - public Result login(@RequestBody Admin admin) { - Admin dbAdmin=adminService.login(admin); + @PostMapping("/login") + public Result login(@RequestBody Account account) { + Account dbAccount; + if (RoleEnum.ADMIN.name().equals(account.getRole())) { // 管理员登录 + dbAccount = adminService.login(account); + } else if (RoleEnum.STUDENT.name().equals(account.getRole())) { // 学生登录 + dbAccount = studentService.login(account); + } else { + return Result.error("角色错误"); + } + return Result.success(dbAccount); + } + + /** + * 注册接口 + */ + @PostMapping("/register") + public Result register(@RequestBody Account account) { + if (ObjectUtil.isEmpty(account.getUsername()) || ObjectUtil.isEmpty(account.getPassword())) { + return Result.error("账号或密码必填"); + } + studentService.register(account); return Result.success(); } diff --git a/springboot/src/main/java/com/example/entity/Admin.java b/springboot/src/main/java/com/example/entity/Admin.java index 86a6c4b9..f4f402ba 100644 --- a/springboot/src/main/java/com/example/entity/Admin.java +++ b/springboot/src/main/java/com/example/entity/Admin.java @@ -1,13 +1,24 @@ package com.example.entity; -public class Admin extends Account { +public class Admin { private Integer id; - private String username;//帐号 - private String password;//密码 + //账号 + private String username; + //密码 + private String password; + private String name; private String role; + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + public Integer getId() { return id; } @@ -16,43 +27,27 @@ public class Admin extends Account { this.id = id; } - @Override public String getUsername() { return username; } - @Override public void setUsername(String username) { this.username = username; } - @Override public String getPassword() { return password; } - @Override public void setPassword(String password) { this.password = password; } - @Override public String getName() { return name; } - @Override public void setName(String name) { this.name = name; } - - @Override - public String getRole() { - return role; - } - - @Override - public void setRole(String role) { - this.role = role; - } } diff --git a/springboot/src/main/java/com/example/entity/Course.java b/springboot/src/main/java/com/example/entity/Course.java index bf184235..cba50a20 100644 --- a/springboot/src/main/java/com/example/entity/Course.java +++ b/springboot/src/main/java/com/example/entity/Course.java @@ -1,58 +1,41 @@ package com.example.entity; public class Course { - private Integer id; - private String name; - private String no; - private String descr; - private String times; - private String teacher; + private String courseId; + private String title; + private String deptName; + private Integer credits; - public Integer getId() { - return id; + public String getCourseId() { + return courseId; } - public void setId(Integer id) { - this.id = id; + public void setCourseId(String courseId) { + this.courseId = courseId; } - public String getName() { - return name; + public String getDeptName() { + return deptName; } - public void setName(String name) { - this.name = name; + public void setDeptName(String deptName) { + this.deptName = deptName; } - public String getNo() { - return no; + public String getTitle() { + return title; } - public void setNo(String no) { - this.no = no; + public void setTitle(String title) { + this.title = title; } - public String getDescr() { - return descr; - } - - public void setDescr(String descr) { - this.descr = descr; - } - - public String getTimes() { - return times; - } - - public void setTimes(String times) { - this.times = times; - } - public String getTeacher() { - return teacher; + public Integer getCredits() { + return credits; } - public void setTeacher(String teacher) { - this.teacher = teacher; + public void setCredits(Integer credits) { + this.credits = credits; } } diff --git a/springboot/src/main/java/com/example/mapper/AdminMapper.java b/springboot/src/main/java/com/example/mapper/AdminMapper.java index c42e37e2..de4a4fc7 100644 --- a/springboot/src/main/java/com/example/mapper/AdminMapper.java +++ b/springboot/src/main/java/com/example/mapper/AdminMapper.java @@ -1,10 +1,11 @@ package com.example.mapper; -import com.example.entity.Admin; +import com.example.entity.Account; import org.apache.ibatis.annotations.Select; public interface AdminMapper { + @Select("select * from admin where username = #{username}") - Admin selectByUsername(String username); + Account selectByUsername(String username); } diff --git a/springboot/src/main/java/com/example/mapper/CourseMapper.java b/springboot/src/main/java/com/example/mapper/CourseMapper.java new file mode 100644 index 00000000..de7b0902 --- /dev/null +++ b/springboot/src/main/java/com/example/mapper/CourseMapper.java @@ -0,0 +1,13 @@ +package com.example.mapper; + +import com.example.entity.Course; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +public interface CourseMapper { + + @Select("select * from course order by courseId desc") + List selectAll(); + +} diff --git a/springboot/src/main/java/com/example/mapper/StudentMapper.java b/springboot/src/main/java/com/example/mapper/StudentMapper.java new file mode 100644 index 00000000..93ce1408 --- /dev/null +++ b/springboot/src/main/java/com/example/mapper/StudentMapper.java @@ -0,0 +1,29 @@ +package com.example.mapper; + +import com.example.entity.Student; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +public interface StudentMapper { + + @Select("select * from student where username = #{username}") + Student selectByUsername(String username); + + @Insert("insert into student (username, password, name, phone, email, sex, birth, avatar, role) " + + "values (#{username}, #{password}, #{name}, #{phone}, #{email}, #{sex}, #{birth}, #{avatar}, #{role})") + void insert(Student student); + + @Delete("delete from student where id = #{id}") + void deleteById(Integer id); + + @Update("update student set username = #{username}, password = #{password}, name = #{name}, phone = #{phone}, " + + "email = #{email}, sex = #{sex}, birth = #{birth}, avatar = #{avatar} where id = #{id}") + void updateById(Student student); + + @Select("select * from student where username like concat('%', #{username}, '%') and name like concat('%', #{name}, '%') order by id desc") + List selectAll(Student student); +} diff --git a/springboot/src/main/java/com/example/service/AdminService.java b/springboot/src/main/java/com/example/service/AdminService.java index e216a1da..a1c8ac1a 100644 --- a/springboot/src/main/java/com/example/service/AdminService.java +++ b/springboot/src/main/java/com/example/service/AdminService.java @@ -1,4 +1,6 @@ package com.example.service; + +import com.example.entity.Account; import com.example.entity.Admin; import com.example.exception.CustomException; import com.example.mapper.AdminMapper; @@ -8,24 +10,25 @@ import javax.annotation.Resource; @Service public class AdminService { + @Resource private AdminMapper adminMapper; /** * 登录 */ - - public Admin login(Admin admin){ - Admin dbAdmin = adminMapper.selectByUsername(admin.getUsername()); - if(dbAdmin==null){ - //没有用户 + public Account login(Account account) { + Account dbAdmin = adminMapper.selectByUsername(account.getUsername()); + if (dbAdmin == null) { + // 没有用户 throw new CustomException("账号或密码错误"); } - //比较密码 - if(!admin.getPassword().equals(dbAdmin.getPassword())){ + // 比较密码 + if (!account.getPassword().equals(dbAdmin.getPassword())) { throw new CustomException("账号或密码错误"); } - //登录成功 + // 登录成功 return dbAdmin; } + } diff --git a/springboot/src/main/java/com/example/service/CourseService.java b/springboot/src/main/java/com/example/service/CourseService.java new file mode 100644 index 00000000..21994b75 --- /dev/null +++ b/springboot/src/main/java/com/example/service/CourseService.java @@ -0,0 +1,26 @@ +package com.example.service; + +import com.example.entity.Course; +import com.example.mapper.CourseMapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service + +public class CourseService { + + @Resource + private CourseMapper courseMapper; + + //total是查询的总数,list是数据列表 + //pageNum是当前的页码,pageSize是每页的个数 + public PageInfo selectPage(Integer pageNum, Integer pageSize) { + PageHelper.startPage(pageNum, pageSize); + List courseList = courseMapper.selectAll(); + return PageInfo.of(courseList); + } +} diff --git a/springboot/src/main/java/com/example/service/StudentService.java b/springboot/src/main/java/com/example/service/StudentService.java new file mode 100644 index 00000000..ff3db99d --- /dev/null +++ b/springboot/src/main/java/com/example/service/StudentService.java @@ -0,0 +1,79 @@ +package com.example.service; + +import cn.hutool.core.util.ObjectUtil; +import com.example.common.RoleEnum; +import com.example.entity.Account; +import com.example.entity.Student; +import com.example.exception.CustomException; +import com.example.mapper.StudentMapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class StudentService { + + @Resource + private StudentMapper studentMapper; + + /** + * 登录 + */ + public Account login(Account account) { + Account dbStudent = studentMapper.selectByUsername(account.getUsername()); + if (dbStudent == null) { + // 没有用户 + throw new CustomException("账号或密码错误"); + } + // 比较密码 + if (!account.getPassword().equals(dbStudent.getPassword())) { + throw new CustomException("账号或密码错误"); + } + // 登录成功 + return dbStudent; + } + + /** + * 学生注册 + */ + public void register(Account account) { + Student student = new Student(); + student.setUsername(account.getUsername()); // 账号 + student.setPassword(account.getPassword()); // 密码 + this.add(student); + } + + + /** + * 新增 + */ + public void add(Student student) { + Student dbStudent = studentMapper.selectByUsername(student.getUsername()); + if (dbStudent != null) { // 已有同名账号 不允许插入 + throw new CustomException("账号已存在"); + } + if (ObjectUtil.isEmpty(student.getName())) { + student.setName(student.getUsername()); + } + student.setRole(RoleEnum.STUDENT.name()); + studentMapper.insert(student); + } + + public void deleteById(Integer id) { + studentMapper.deleteById(id); + } + + public void updateById(Student student) { + studentMapper.updateById(student); + } + + public PageInfo selectPage(Integer pageNum, Integer pageSize, Student student) { + PageHelper.startPage(pageNum, pageSize); + List studentList = studentMapper.selectAll(student); + return PageInfo.of(studentList); + } + +} diff --git a/springboot/src/main/resources/application.yml b/springboot/src/main/resources/application.yml index 36976fed..c6af3631 100644 --- a/springboot/src/main/resources/application.yml +++ b/springboot/src/main/resources/application.yml @@ -6,7 +6,7 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: root - password: 123456 + password: 2022@Der url: jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true servlet: multipart: diff --git a/springboot/target/classes/application.yml b/springboot/target/classes/application.yml index 36976fed..c6af3631 100644 --- a/springboot/target/classes/application.yml +++ b/springboot/target/classes/application.yml @@ -6,7 +6,7 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: root - password: 123456 + password: 2022@Der url: jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true servlet: multipart: diff --git a/springboot/target/classes/com/example/common/RoleEnum.class b/springboot/target/classes/com/example/common/RoleEnum.class new file mode 100644 index 00000000..2ce9e9b4 Binary files /dev/null and b/springboot/target/classes/com/example/common/RoleEnum.class differ diff --git a/springboot/target/classes/com/example/controller/CourseController.class b/springboot/target/classes/com/example/controller/CourseController.class new file mode 100644 index 00000000..a387c40e Binary files /dev/null and b/springboot/target/classes/com/example/controller/CourseController.class differ diff --git a/springboot/target/classes/com/example/controller/StudentController.class b/springboot/target/classes/com/example/controller/StudentController.class new file mode 100644 index 00000000..50381dbd Binary files /dev/null and b/springboot/target/classes/com/example/controller/StudentController.class differ diff --git a/springboot/target/classes/com/example/controller/WebController.class b/springboot/target/classes/com/example/controller/WebController.class index 72891992..2f3be3b3 100644 Binary files a/springboot/target/classes/com/example/controller/WebController.class and b/springboot/target/classes/com/example/controller/WebController.class differ diff --git a/springboot/target/classes/com/example/entity/Account.class b/springboot/target/classes/com/example/entity/Account.class new file mode 100644 index 00000000..09473bd9 Binary files /dev/null and b/springboot/target/classes/com/example/entity/Account.class differ diff --git a/springboot/target/classes/com/example/entity/Admin.class b/springboot/target/classes/com/example/entity/Admin.class index 31ccd708..3077e8b1 100644 Binary files a/springboot/target/classes/com/example/entity/Admin.class and b/springboot/target/classes/com/example/entity/Admin.class differ diff --git a/springboot/target/classes/com/example/entity/Course.class b/springboot/target/classes/com/example/entity/Course.class new file mode 100644 index 00000000..5fcc3c18 Binary files /dev/null and b/springboot/target/classes/com/example/entity/Course.class differ diff --git a/springboot/target/classes/com/example/entity/Student.class b/springboot/target/classes/com/example/entity/Student.class new file mode 100644 index 00000000..91eaf091 Binary files /dev/null and b/springboot/target/classes/com/example/entity/Student.class differ diff --git a/springboot/target/classes/com/example/mapper/AdminMapper.class b/springboot/target/classes/com/example/mapper/AdminMapper.class index 94751d45..85d5474b 100644 Binary files a/springboot/target/classes/com/example/mapper/AdminMapper.class and b/springboot/target/classes/com/example/mapper/AdminMapper.class differ diff --git a/springboot/target/classes/com/example/mapper/CourseMapper.class b/springboot/target/classes/com/example/mapper/CourseMapper.class new file mode 100644 index 00000000..b555fa7a Binary files /dev/null and b/springboot/target/classes/com/example/mapper/CourseMapper.class differ diff --git a/springboot/target/classes/com/example/mapper/StudentMapper.class b/springboot/target/classes/com/example/mapper/StudentMapper.class new file mode 100644 index 00000000..7dedebee Binary files /dev/null and b/springboot/target/classes/com/example/mapper/StudentMapper.class differ diff --git a/springboot/target/classes/com/example/service/AdminService.class b/springboot/target/classes/com/example/service/AdminService.class index e5428db3..469d9d32 100644 Binary files a/springboot/target/classes/com/example/service/AdminService.class and b/springboot/target/classes/com/example/service/AdminService.class differ diff --git a/springboot/target/classes/com/example/service/CourseService.class b/springboot/target/classes/com/example/service/CourseService.class new file mode 100644 index 00000000..41a6c2e6 Binary files /dev/null and b/springboot/target/classes/com/example/service/CourseService.class differ diff --git a/springboot/target/classes/com/example/service/StudentService.class b/springboot/target/classes/com/example/service/StudentService.class new file mode 100644 index 00000000..a8029c3b Binary files /dev/null and b/springboot/target/classes/com/example/service/StudentService.class differ diff --git a/springboot/target/maven-archiver/pom.properties b/springboot/target/maven-archiver/pom.properties new file mode 100644 index 00000000..ef91ce0d --- /dev/null +++ b/springboot/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=springboot +groupId=com.example +version=0.0.1-SNAPSHOT diff --git a/springboot/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/springboot/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 00000000..6ac35679 --- /dev/null +++ b/springboot/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,13 @@ +com\example\common\Result.class +com\example\entity\Course.class +com\example\common\CorsConfig.class +com\example\service\AdminService.class +com\example\service\CourseService.class +com\example\exception\GlobalExceptionHandler.class +com\example\SpringbootApplication.class +com\example\exception\CustomException.class +com\example\mapper\CourseMapper.class +com\example\entity\Admin.class +com\example\controller\WebController.class +com\example\controller\CourseController.class +com\example\mapper\AdminMapper.class diff --git a/springboot/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/springboot/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 00000000..af6c4f82 --- /dev/null +++ b/springboot/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,13 @@ +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\mapper\CourseMapper.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\SpringbootApplication.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\common\Result.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\exception\GlobalExceptionHandler.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\common\CorsConfig.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\service\CourseService.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\exception\CustomException.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\entity\Course.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\controller\CourseController.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\entity\Admin.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\mapper\AdminMapper.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\service\AdminService.java +C:\Users\MEI\Desktop\Demo-master\demo\springboot\src\main\java\com\example\controller\WebController.java diff --git a/springboot/target/springboot-0.0.1-SNAPSHOT.jar b/springboot/target/springboot-0.0.1-SNAPSHOT.jar new file mode 100644 index 00000000..4ae3533d Binary files /dev/null and b/springboot/target/springboot-0.0.1-SNAPSHOT.jar differ