学习进度4/11

📅 2026/7/3 23:37:28 👁️ 阅读次数 📝 编程学习
学习进度4/11

第五步:编写 Mapper 接口 + Mapper.xml 文件(MyBatis 数据库交互层)

  1. 新建 Mapper 接口(com.demo.mapper 包下,7 个接口,复制粘贴)
    ① SysUserMapper.java
    java
    运行
    package com.demo.mapper;
    import com.demo.entity.SysUser;
    import org.apache.ibatis.annotations.Param;
    import java.util.List;

public interface SysUserMapper {
SysUser getByUsername(@Param("username") String username);
int updateById(SysUser user);
List listNoLogin30Days();
int insert(SysUser user);
}
② SysLogMapper.java
java
运行
package com.demo.mapper;
import com.demo.entity.SysLog;

public interface SysLogMapper {
int insert(SysLog log);
}
③ CourseMapper.java
java
运行
package com.demo.mapper;
import com.demo.entity.Course;
import java.util.List;

public interface CourseMapper {
List selectAll();
int insert(Course course);
int updateById(Course course);
int deleteById(Long id);
}
④ QuestionMapper.java
java
运行
package com.demo.mapper;
import com.demo.entity.Question;
import java.util.List;

public interface QuestionMapper {
List selectAll();
int insert(Question question);
}
⑤ PaperMapper.java
java
运行
package com.demo.mapper;
import com.demo.entity.Paper;
import java.util.List;

public interface PaperMapper {
List selectAll();
int insert(Paper paper);
}
⑥ PaperQuestionMapper.java
java
运行
package com.demo.mapper;
import com.demo.entity.PaperQuestion;

public interface PaperQuestionMapper {
int insert(PaperQuestion paperQuestion);
}
⑦ ExamRecordMapper.java
java
运行
package com.demo.mapper;
import com.demo.entity.ExamRecord;
import org.apache.ibatis.annotations.Param;
import java.util.List;

public interface ExamRecordMapper {
int insert(ExamRecord record);
List selectByUserId(@Param("userId") Long userId);
}
2. 新建 Mapper.xml 文件夹
在 src/main/resources 新建文件夹 mapper,在里面依次新建 7 个 xml 文件
① SysUserMapper.xml
xml

UPDATE sys_userSET password=#{password},phone=#{phone},role_type=#{roleType},status=#{status},password_update_time=#{passwordUpdateTime},login_fail_count=#{loginFailCount},login_lock_time=#{loginLockTime},last_login_time=#{lastLoginTime}WHERE id=#{id}INSERT INTO sys_user(username,password,phone,role_type,password_update_time)VALUES(#{username},#{password},#{phone},#{roleType},#{passwordUpdateTime}) ② SysLogMapper.xml xmlINSERT INTO sys_log(username,content) VALUES(#{username},#{content}) ③ CourseMapper.xml xmlINSERT INTO course(name,teacher,duration,intro) VALUES(#{name},#{teacher},#{duration},#{intro})UPDATE course SET name=#{name},teacher=#{teacher},duration=#{duration},intro=#{intro} WHERE id=#{id}DELETE FROM course WHERE id=#{id} ④ QuestionMapper.xml xmlINSERT INTO question(title,type,optionA,optionB,optionC,optionD,answer)VALUES(#{title},#{type},#{optionA},#{optionB},#{optionC},#{optionD},#{answer}) ⑤ PaperMapper.xml xmlINSERT INTO paper(name,duration,total_score) VALUES(#{name},#{duration},#{totalScore}) ⑥ PaperQuestionMapper.xml xmlINSERT INTO paper_question(paper_id,question_id) VALUES(#{paperId},#{questionId}) ⑦ ExamRecordMapper.xml xmlINSERT INTO exam_record(user_id,paper_id,score,status)VALUES(#{userId},#{paperId},#{score},#{status})