From 83d2609e6c4e8680b837c50d44a0aaf059fc3e15 Mon Sep 17 00:00:00 2001 From: cunyu1943 <747731461@qq.com> Date: Sat, 5 Mar 2022 23:47:57 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=9A=20=E5=AD=A6=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=BB=A9=E7=AE=A1=E7=90=86=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-crud-demo/.DS_Store | Bin 6148 -> 6148 bytes mybatis-crud-demo/src/.DS_Store | Bin 6148 -> 6148 bytes mybatis-crud-demo/src/main/.DS_Store | Bin 6148 -> 6148 bytes score-management-system/pom.xml | 36 ++ .../src/main/java/Main.java | 64 ++++ .../src/main/java/com/.DS_Store | Bin 0 -> 6148 bytes .../main/java/com/cunyu/entity/Student.java | 340 ++++++++++++++++++ .../java/com/cunyu/mapper/StudentMapper.java | 83 +++++ .../main/java/com/cunyu/util/MyBatisUtil.java | 50 +++ .../src/main/resources/.DS_Store | Bin 0 -> 6148 bytes .../main/resources/mapper/StudentMapper.xml | 42 +++ .../src/main/resources/mybatis-config.xml | 28 ++ 12 files changed, 643 insertions(+) create mode 100644 score-management-system/pom.xml create mode 100644 score-management-system/src/main/java/Main.java create mode 100644 score-management-system/src/main/java/com/.DS_Store create mode 100644 score-management-system/src/main/java/com/cunyu/entity/Student.java create mode 100644 score-management-system/src/main/java/com/cunyu/mapper/StudentMapper.java create mode 100644 score-management-system/src/main/java/com/cunyu/util/MyBatisUtil.java create mode 100644 score-management-system/src/main/resources/.DS_Store create mode 100644 score-management-system/src/main/resources/mapper/StudentMapper.xml create mode 100644 score-management-system/src/main/resources/mybatis-config.xml diff --git a/mybatis-crud-demo/.DS_Store b/mybatis-crud-demo/.DS_Store index 7f83885bc5539b744b0323fa555994f98a35ddcc..ee3c206dc4cbcf996e542a59da19c68955d5ff39 100644 GIT binary patch delta 21 ccmZoMXffEp%FLAUY%)7@2;+y%G0ZDO08N7jApigX delta 21 ccmZoMXffEp%FJYOZ!$Y`2;+v$G0ZDO07)|jsQ>@~ diff --git a/mybatis-crud-demo/src/.DS_Store b/mybatis-crud-demo/src/.DS_Store index 5384f238095ee4aae9be528cf4c312a8d653d0f6..7f0bddef97081a98b471e620b4258078649a85f1 100644 GIT binary patch delta 106 zcmZoMXffFEjVacNn}LCWg&~(Aks*^IFE`)CB`GIA2`I+Vcf8x&{^?;yRQVLV@&y@& T!O8i#1wcJOFky2r^F|Q>9Mc@r delta 106 zcmZoMXffFEjVV@$nSp_Ug&~(Aks*^IFE`)CB`GIA2`I*KzqhhU_~~IsRQVLV@&y@& T!O8i#1wcJO5U@Fzd7}sb76lxm diff --git a/mybatis-crud-demo/src/main/.DS_Store b/mybatis-crud-demo/src/main/.DS_Store index 88ce372329d6fa70484fba03beabde1ec0a4e17e..16f7d319db507088da8f0c08256e5a306262cb75 100644 GIT binary patch delta 347 zcmZoMXfc=|#>B!ku~2NHo+2aH#(>?7iyN4k7`Z0%Fukf*c4c5-U}4B&NMtBuNX*T5 zaY@R_PXdZ@yjb6DZvXVKBdUA~UipFy!{Frn+ybB;AP4{vaI?#Ti}G^v^U{H0j6lrE zP{feRP+!cD&rk|vCIdOeIqAsS*$%;#p{PQ3B)qu~2NHo+2aL#(>?7jBJy6SYFk0J2EgZurOpXBr=pSB=z97ReI5|JJ0H_}b3_t|j?6TmZyqx^Jbf6d`NCFHtOL6eB kOl)Y~%+A5j0d(PJL5}atlles)IY81tbu61BMAk3^0E2oehyVZp diff --git a/score-management-system/pom.xml b/score-management-system/pom.xml new file mode 100644 index 0000000..67568f4 --- /dev/null +++ b/score-management-system/pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + + com.cunyu + score-management-system + 1.0-SNAPSHOT + + + 11 + 11 + + + + + org.mybatis + mybatis + 3.5.7 + + + mysql + mysql-connector-java + 8.0.25 + + + + org.projectlombok + lombok + 1.18.22 + provided + + + + diff --git a/score-management-system/src/main/java/Main.java b/score-management-system/src/main/java/Main.java new file mode 100644 index 0000000..ab4c393 --- /dev/null +++ b/score-management-system/src/main/java/Main.java @@ -0,0 +1,64 @@ +import com.cunyu.entity.Student; + +import java.util.Scanner; + +/** + * Created with IntelliJ IDEA. + * + * @Package : PACKAGE_NAME + * @ClassName : Main.java + * @CreateTime : 2022/3/5 17:13 + * @Version : 1.0 + * @Author : 村雨 + * @Email : 747731461@qq.com + * @公众号 : 村雨遥 + * @Website : https://cunyu1943.github.io + * @Description : + */ +public class Main { + public static Scanner scanner = new Scanner(System.in); + + public static void main(String[] args) { + while (true) { + System.out.println("----------欢迎使用学生成绩管理系统-----------"); + System.out.println("-------------【1】录入学生成绩-------------"); + System.out.println("-------------【2】查找学生成绩-------------"); + System.out.println("-------------【3】修改学生成绩-------------"); + System.out.println("-------------【4】删除学生成绩-------------"); + System.out.println("-------------【5】显示所有成绩-------------"); + System.out.println("-------------【0】退出管理系统-------------"); + + Student student = new Student(); + + System.out.println("输入你的选择【0-5】"); + String choice = scanner.next(); + switch (choice) { + case "1": + // 录入学生成绩 + student.insertScore(); + break; + case "2": + // 查找对应学生成绩 + student.queryScoreById(); + break; + case "3": + // 修改学生成绩 + student.update(); + break; + case "4": + // 删除学生成绩 + student.delete(); + break; + case "5": + // 查询所有学生成绩 + student.queryScores(); + break; + case "0": + System.exit(0); + break; + default: + break; + } + } + } +} diff --git a/score-management-system/src/main/java/com/.DS_Store b/score-management-system/src/main/java/com/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..767e72b2e85f04d2812dbad2f5b97802636b2614 GIT binary patch literal 6148 zcmeHK!A`?447FjEDskD7V}4cX5WAmVDkH;(6Lb{yy z&VV!E3^)VMz)2afOS--~X;x3>3^)Vlz<`_&0ZlL(CdGVopvxryZ~=1`=u%5aOfZaw zNf9#;)=;2^vXvOD;jjnui-t*2!-=io^Q6uP(cu>j WlcHo1dkzQsLm(64oip$U415A^$TScD literal 0 HcmV?d00001 diff --git a/score-management-system/src/main/java/com/cunyu/entity/Student.java b/score-management-system/src/main/java/com/cunyu/entity/Student.java new file mode 100644 index 0000000..1ed2249 --- /dev/null +++ b/score-management-system/src/main/java/com/cunyu/entity/Student.java @@ -0,0 +1,340 @@ +package com.cunyu.entity; + +import com.cunyu.mapper.StudentMapper; +import com.cunyu.util.MyBatisUtil; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.ibatis.session.SqlSession; + +import java.util.List; +import java.util.Scanner; + +/** + * Created with IntelliJ IDEA. + * + * @Package : com.cunyu.entity + * @ClassName : Student.java + * @CreateTime : 2022/3/5 14:38 + * @Version : 1.0 + * @Author : 村雨 + * @Email : 747731461@qq.com + * @公众号 : 村雨遥 + * @Website : https://cunyu1943.github.io + * @Description : + */ + +@AllArgsConstructor +@NoArgsConstructor +@Data +public class Student { + + + /** + * 学号 + */ + private String id; + /** + * 姓名 + */ + private String name; + /** + * 班级 + */ + private String grade; + /** + * 高数 + */ + private Double math; + /** + * 体育 + */ + private Double sport; + /** + * 英语 + */ + private Double english; + /** + * Java + */ + private Double java; + /** + * 算法 + */ + private Double algorithm; + /** + * 政治 + */ + private Double polity; + /** + * C ++ + */ + private Double cPlusPlus; + /** + * 总分 + */ + private Double score; + /** + * 平均分 + */ + private Double average; + + /** + * 查询学号是否可用 + * + * @param id 学号 + * @return true:学号重复,false 学号可用 + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 17:30 2022/3/5 + */ + public boolean isValid(String id) { + SqlSession sqlSession = MyBatisUtil.getSession(); + StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); + List students = mapper.showStudentList(); + for (Student student : students) { + if (id.equals(student.getId())) { + return true; + } + } + sqlSession.close(); + return false; + } + + + /** + * 录入学生成绩 + * + * @param + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 18:05 2022/3/5 + */ + public void insertScore() { + SqlSession sqlSession = MyBatisUtil.getSession(); + StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); + Scanner scanner = new Scanner(System.in); + System.out.println("----------录入学生数据----------"); + System.out.println("请依次输入如下数据:"); + String id; + while (true) { + System.out.println("学号"); + id = scanner.nextLine(); + if (isValid(id)) { + System.out.println("学号重复,请重新输入"); + } else { + break; + } + } + System.out.println("年级"); + String grade = scanner.nextLine(); + + System.out.println("姓名"); + String name = scanner.nextLine(); + System.out.println("数学"); + Double math = scanner.nextDouble(); + System.out.println("英语"); + Double english = scanner.nextDouble(); + System.out.println("体育"); + Double sport = scanner.nextDouble(); + System.out.println("Java"); + Double java = scanner.nextDouble(); + System.out.println("C++"); + Double cPlusPlus = scanner.nextDouble(); + System.out.println("政治"); + Double polity = scanner.nextDouble(); + System.out.println("算法"); + Double algorithm = scanner.nextDouble(); + + // 创建对象,并设置属性,并插入数据库 + Student student = new Student(); + student.setId(id); + student.setName(name); + student.setGrade(grade); + student.setSport(sport); + student.setCPlusPlus(cPlusPlus); + student.setJava(java); + student.setMath(math); + student.setPolity(polity); + student.setEnglish(english); + student.setAlgorithm(algorithm); + student.setScore(math + polity + english + algorithm + cPlusPlus + java + sport); + student.setAverage(student.getScore() * 1.0 / 7); + int i = mapper.insertScore(student); + if (i > 0) { + sqlSession.commit(); + System.out.println("录入成绩成功"); + } else { + System.out.println("录入成绩失败,请重新录入"); + } + + sqlSession.close(); + + } + + /** + * 通过学号查询成绩 + * + * @param + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 18:06 2022/3/5 + */ + public void queryScoreById() { + SqlSession sqlSession = MyBatisUtil.getSession(); + StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); + Scanner scanner = new Scanner(System.in); + System.out.println("----------查找学生成绩----------"); + List students = mapper.showStudentList(); + Student result = new Student(); + Boolean flag = false; + if (students.size() == 0) { + System.out.println("当前无数据,请录入成绩后重试"); + } else { + System.out.println("请输入要查找成绩学生的学号"); + String id = scanner.nextLine(); + for (Student student : students) { + if (id.equals(student.getId())) { + flag = true; + result = student; + } + } + if (flag) { + System.out.println("对应学号的学生成绩如下:"); + System.out.println("学号\t\t班级\t\t姓名\t\t数学\t\t英语\t\t体育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分\t\t总分"); + System.out.format("%s\t%s\t\t%s\t\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", result.getId(), result.getGrade(), result.getName(), result.getMath(), result.getEnglish(), result.getSport(), result.getJava(), result.getCPlusPlus(), result.getPolity(), result.getAlgorithm(), result.getAverage(), result.getScore()); + System.out.println("查找成绩成功!"); + } else { + System.out.println("未找到对应学号学生的成绩,请确认后重新输入!"); + } + } + sqlSession.close(); + } + + /** + * 查询所有学生成绩 + * + * @param + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 18:26 2022/3/5 + */ + public void queryScores() { + SqlSession sqlSession = MyBatisUtil.getSession(); + StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); + List students = mapper.showStudentList(); + if (students.size() == 0) { + System.out.println("数据库当前无数据,请先添加数据"); + } else { + System.out.println("----------所有学生成绩如下----------"); + System.out.println("学号\t\t班级\t\t姓名\t\t数学\t\t英语\t\t体育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分\t\t总分"); + for (Student student : students) { + System.out.format("%s\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getId(), student.getGrade(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getCPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAverage(), student.getScore()); + } + } + sqlSession.close(); + } + + /** + * 更新对应学号学生的成绩 + * + * @param + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 18:40 2022/3/5 + */ + public void update() { + SqlSession sqlSession = MyBatisUtil.getSession(); + StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); + Scanner scanner = new Scanner(System.in); + List students = mapper.showStudentList(); + System.out.println("----------修改学生成绩----------"); + if (students.isEmpty()) { + System.out.println("当前数据库无数据,请添加后重试"); + } else { + System.out.println("请输入要修改学生的学号"); + String id = scanner.nextLine(); + Student student = mapper.queryById(id); + if (student == null) { + System.out.println("未找到对应学号学生信息,请确认后再删除!"); + } else { + System.out.println("请重新输入该学生的成绩"); + System.out.println("数学"); + Double math = scanner.nextDouble(); + System.out.println("英语"); + Double english = scanner.nextDouble(); + System.out.println("体育"); + Double sport = scanner.nextDouble(); + System.out.println("Java"); + Double java = scanner.nextDouble(); + System.out.println("C++"); + Double cPlusPlus = scanner.nextDouble(); + System.out.println("政治"); + Double polity = scanner.nextDouble(); + System.out.println("算法"); + Double algorithm = scanner.nextDouble(); + + student.setSport(sport); + student.setEnglish(english); + student.setPolity(polity); + student.setMath(math); + student.setJava(java); + student.setCPlusPlus(cPlusPlus); + student.setAlgorithm(algorithm); + student.setScore(sport + math + english + polity + java + cPlusPlus + algorithm); + student.setAverage(student.getScore() / 7); + if (mapper.updateById(student) > 0) { + sqlSession.commit(); + System.out.println("----------更新成功----------"); + } else { + System.out.println("----------更新失败----------"); + } + } + } + sqlSession.close(); + } + + /** + * 删除对应学号学生成绩 + * + * @param + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 18:38 2022/3/5 + */ + public void delete() { + SqlSession sqlSession = MyBatisUtil.getSession(); + StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); + Scanner scanner = new Scanner(System.in); + List students = mapper.showStudentList(); + System.out.println("----------删除学生成绩----------"); + if (students.size() == 0) { + System.out.println("当前数据库无数据,请添加后重试"); + } else { + System.out.println("输入要删除学生成绩的学号"); + String id = scanner.nextLine(); + if (mapper.queryById(id) == null) { + System.out.println("未找到对应学号学生信息,请确认后再删除!"); + } else { + if (mapper.deleteById(id) > 0) { + sqlSession.commit(); + System.out.println("----------删除成功----------"); + } else { + System.out.println("----------删除失败----------"); + } + } + } + sqlSession.close(); + } +} diff --git a/score-management-system/src/main/java/com/cunyu/mapper/StudentMapper.java b/score-management-system/src/main/java/com/cunyu/mapper/StudentMapper.java new file mode 100644 index 0000000..a79c2a0 --- /dev/null +++ b/score-management-system/src/main/java/com/cunyu/mapper/StudentMapper.java @@ -0,0 +1,83 @@ +package com.cunyu.mapper; + +import com.cunyu.entity.Student; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * Created with IntelliJ IDEA. + * + * @Package : com.cunyu.mapper + * @ClassName : StudentMapper.java + * @CreateTime : 2022/3/5 16:34 + * @Version : 1.0 + * @Author : 村雨 + * @Email : 747731461@qq.com + * @公众号 : 村雨遥 + * @Website : https://cunyu1943.github.io + * @Description : + */ +@Mapper +public interface StudentMapper { + /** + * 录入学生成绩 + * + * @param student 学生对象 + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 16:38 2022/3/5 + */ + int insertScore(Student student); + + /** + * 查看所有学生成绩 + * + * @param + * @return List 学生列表 + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 16:45 2022/3/5 + */ + public List showStudentList(); + + /** + * 通过学号查询学生成绩 + * + * @param id 学号 + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 16:50 2022/3/5 + */ + public Student queryById(String id); + + /** + * 修改对应学号学生的成绩 + * + * @param student 学生 + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 16:53 2022/3/5 + */ + public int updateById(Student student); + + + /** + * 删除对应学号学生的成绩 + * + * @param id 学号 + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 17:02 2022/3/5 + */ + public int deleteById(String id); +} diff --git a/score-management-system/src/main/java/com/cunyu/util/MyBatisUtil.java b/score-management-system/src/main/java/com/cunyu/util/MyBatisUtil.java new file mode 100644 index 0000000..ed9ea9e --- /dev/null +++ b/score-management-system/src/main/java/com/cunyu/util/MyBatisUtil.java @@ -0,0 +1,50 @@ +package com.cunyu.util; + +import org.apache.ibatis.io.Resources; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.session.SqlSessionFactoryBuilder; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created with IntelliJ IDEA. + * + * @Package : com.cunyu.util + * @ClassName : MyBatisUtil.java + * @CreateTime : 2022/3/5 17:11 + * @Version : 1.0 + * @Author : 村雨 + * @Email : 747731461@qq.com + * @公众号 : 村雨遥 + * @Website : https://cunyu1943.github.io + * @Description : + */ +public class MyBatisUtil { + private static SqlSessionFactory sqlSessionFactory; + + static { + try { + String resource = "mybatis-config.xml"; + InputStream inputStream = Resources.getResourceAsStream(resource); + sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * 获取 SqlSession 连接 + * + * @param + * @return + * @Author 村雨遥 + * @Version 1.0 + * @Description + * @Date 17:12 2022/3/5 + */ + public static SqlSession getSession() { + return sqlSessionFactory.openSession(); + } +} diff --git a/score-management-system/src/main/resources/.DS_Store b/score-management-system/src/main/resources/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..8d4440fbbe2e17ded6bf122ca88e626cd0d16d40 GIT binary patch literal 6148 zcmeHKOHRWu5S@V*MPkz>OJAWkFjabjUI5Y{5K80-#NPKom zI0MdrGvEw313$@tq&P@*YUs5y;0!nepA5+U5KshT!EC5o2P(Y+0B2CEpshz%U=Rf` z7R-jwK-fZo7Ru#{!4?jED1NbEHnebJof+elnLjQsTn@|})SWmQdhHB217ik`t-Fx? zzs9dLdC4D#c+VMd2L2fXJgYbL3X3Ya^ + + + + + + INSERT INTO student (id, name, grade, math, english, sport, polity, java, c_plus_plus, algorithm, score, + average) + VALUES (#{id}, #{name}, #{grade}, #{math}, #{english}, #{sport}, #{polity}, #{java}, #{cPlusPlus}, #{algorithm}, + #{score}, #{average}) + + + UPDATE student + SET math = #{math}, + english = #{english}, + sport = #{sport}, + polity = #{polity}, + java = #{java}, + c_plus_plus = #{cPlusPlus}, + algorithm = #{algorithm}, + score = #{score}, + average = #{average} + WHERE id = #{id} + + + DELETE + FROM student + WHERE id = #{id} + + + + + + diff --git a/score-management-system/src/main/resources/mybatis-config.xml b/score-management-system/src/main/resources/mybatis-config.xml new file mode 100644 index 0000000..498a4c7 --- /dev/null +++ b/score-management-system/src/main/resources/mybatis-config.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + -- GitLab