From 80581c2ff3bc03ae61bc837da3c74e226763d6de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=95=E6=B7=BC?= <3426224518@qq.com> Date: Tue, 19 May 2026 15:23:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/dataSources.xml | 12 +++++ .../grademanagement-MyBatisProject.iml | 1 + .../src/com/ssm/entity/Course.java | 50 +++++++++++++++++++ .../src/com/ssm/mapper/CourseMapper.java | 10 ++++ .../src/com/ssm/mapper/CourseMapper.xml | 19 +++++++ .../src/com/ssm/test/TestMyBatis.java | 44 ++++++++++++++++ grademanagement-MyBatisProject/src/config.xml | 20 +++++++- grademanagement/initial.sql | 22 +++++++- grademanagement/src/applicationContext.xml | 19 +++++-- grademanagement/src/db.properties | 2 +- 10 files changed, 191 insertions(+), 8 deletions(-) create mode 100644 .idea/dataSources.xml create mode 100644 grademanagement-MyBatisProject/src/com/ssm/entity/Course.java create mode 100644 grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.java create mode 100644 grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.xml create mode 100644 grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..fefc9eb --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306 + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/grademanagement-MyBatisProject/grademanagement-MyBatisProject.iml b/grademanagement-MyBatisProject/grademanagement-MyBatisProject.iml index c90834f..fb8e866 100644 --- a/grademanagement-MyBatisProject/grademanagement-MyBatisProject.iml +++ b/grademanagement-MyBatisProject/grademanagement-MyBatisProject.iml @@ -7,5 +7,6 @@ + \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/entity/Course.java b/grademanagement-MyBatisProject/src/com/ssm/entity/Course.java new file mode 100644 index 0000000..7c1e719 --- /dev/null +++ b/grademanagement-MyBatisProject/src/com/ssm/entity/Course.java @@ -0,0 +1,50 @@ +package com.ssm.entity; + +public class Course { + private Integer courseId; // 课程ID + private String courseName; // 课程名称 + private Integer credit; // 学分(与数据库int类型匹配) + private String teacher; // 教师 + + public Integer getCourseId() { + return courseId; + } + + public void setCourseId(Integer courseId) { + this.courseId = courseId; + } + + public String getCourseName() { + return courseName; + } + + public void setCourseName(String courseName) { + this.courseName = courseName; + } + + public Integer getCredit() { + return credit; + } + + public void setCredit(Integer credit) { + this.credit = credit; + } + + public String getTeacher() { + return teacher; + } + + public void setTeacher(String teacher) { + this.teacher = teacher; + } + + @Override + public String toString() { + return "Course{" + + "courseId=" + courseId + + ", courseName='" + courseName + '\'' + + ", credit=" + credit + + ", teacher='" + teacher + '\'' + + '}'; + } +} diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.java b/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.java new file mode 100644 index 0000000..92aa3da --- /dev/null +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.java @@ -0,0 +1,10 @@ +package com.ssm.mapper; + +import com.ssm.entity.Course; + +import java.util.List; + +public interface CourseMapper { + Course getCourseById(Integer courseId); + List getAllCourses(); +} diff --git a/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.xml b/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.xml new file mode 100644 index 0000000..16cee5c --- /dev/null +++ b/grademanagement-MyBatisProject/src/com/ssm/mapper/CourseMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + \ No newline at end of file diff --git a/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java b/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java new file mode 100644 index 0000000..e4df61b --- /dev/null +++ b/grademanagement-MyBatisProject/src/com/ssm/test/TestMyBatis.java @@ -0,0 +1,44 @@ +package com.ssm.test; + +import com.ssm.entity.Course; +import com.ssm.mapper.CourseMapper; +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.InputStream; +import java.util.List; + +public class TestMyBatis { + public static void main(String[] args) { + try { + // 使用正确的配置文件名 config.xml + SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("config.xml")); + SqlSession sqlSession = sqlSessionFactory.openSession(true); + System.out.println("✅ MyBatis 连接成功!"); + + // 使用正确的变量名 sqlSession + CourseMapper courseMapper = sqlSession.getMapper(CourseMapper.class); + + // 测试查询单个课程 + System.out.println("\n=== 成员吕淼 查询课程ID=1 ==="); + Course course = courseMapper.getCourseById(1); + System.out.println(course); + + // 测试查询所有课程 + System.out.println("\n=== 所有课程列表 ==="); + List courses = courseMapper.getAllCourses(); + for (Course c : courses) { + System.out.println(c); + } + + sqlSession.close(); + System.out.println("\n✅ 测试完成!"); + + } catch (Exception e) { + System.err.println("❌ 测试失败:"); + e.printStackTrace(); + } + } +} diff --git a/grademanagement-MyBatisProject/src/config.xml b/grademanagement-MyBatisProject/src/config.xml index 3b5222d..0f2b5cd 100644 --- a/grademanagement-MyBatisProject/src/config.xml +++ b/grademanagement-MyBatisProject/src/config.xml @@ -4,5 +4,23 @@ "http://mybatis.org/dtd/mybatis-3-config.dtd"> - + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/grademanagement/initial.sql b/grademanagement/initial.sql index 5bfbcfc..f01645c 100644 --- a/grademanagement/initial.sql +++ b/grademanagement/initial.sql @@ -1,9 +1,7 @@ - SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; - -- ---------------------------- -- Table structure for demo -- ---------------------------- @@ -25,3 +23,23 @@ INSERT INTO `demo` VALUES (23, '4', '444'); INSERT INTO `demo` VALUES (24, '5', '555'); INSERT INTO `demo` VALUES (25, '6', '666'); INSERT INTO `demo` VALUES (26, '7', '777'); + +-- ---------------------------- +-- Table structure for course +-- ---------------------------- +DROP TABLE IF EXISTS `course`; +CREATE TABLE `course` ( + `courseId` int(11) NOT NULL AUTO_INCREMENT, + `coursename` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `credit` int(11) NULL DEFAULT NULL, + `teacher` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`courseId`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of course +-- ---------------------------- +INSERT INTO `course` VALUES (1, '英语', 0, '张华'); +INSERT INTO `course` VALUES (2, 'C语言', 1, '李磊'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/grademanagement/src/applicationContext.xml b/grademanagement/src/applicationContext.xml index caba17c..79463c3 100644 --- a/grademanagement/src/applicationContext.xml +++ b/grademanagement/src/applicationContext.xml @@ -18,8 +18,9 @@ - + 注意:①方式二: + ②如果多个properties文件,可以使用location属性配置多个 --> + - + + + + + + + + + @@ -53,7 +62,7 @@ 即接口类的对象,然后才能操作具体增删改查操作。 (2)Spring声明式事务非常强大,想让Spring管理事务。 注意:①SqlSessionFactoryBean类能创建出SqlSessionFactory对象,意味着容器一启动让容器帮我们创建SqlSessionFactory--> - + + + diff --git a/grademanagement/src/db.properties b/grademanagement/src/db.properties index 7449703..6066cf0 100644 --- a/grademanagement/src/db.properties +++ b/grademanagement/src/db.properties @@ -1,4 +1,4 @@ driver=com.mysql.cj.jdbc.Driver -url=jdbc:mysql://localhost:3306/ssm_farm?serverTimezone=Asia/Shanghai +url=jdbc:mysql://localhost:3306/ssm?serverTimezone=Asia/Shanghai user=root password=root \ No newline at end of file