diff --git a/src/main/java/com/jiudian/manage/ManageApplication.java b/src/main/java/com/jiudian/manage/ManageApplication.java index e4037ad..406c221 100644 --- a/src/main/java/com/jiudian/manage/ManageApplication.java +++ b/src/main/java/com/jiudian/manage/ManageApplication.java @@ -12,17 +12,20 @@ import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; - +// Spring Boot 启动类 @SpringBootApplication +//告诉 MyBatis 扫描 com.jiudian.manage.mapper 包下的所有接口 @MapperScan(value = "com.jiudian.manage.mapper") public class ManageApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(ManageApplication.class, args); } - +//主方法,启动 Spring 容器 + // 构建跨域配置对象 private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); + //许任何前端域名访问 corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); diff --git a/src/main/java/com/jiudian/manage/controller/RoomController.java b/src/main/java/com/jiudian/manage/controller/RoomController.java index d4e3017..6c715de 100644 --- a/src/main/java/com/jiudian/manage/controller/RoomController.java +++ b/src/main/java/com/jiudian/manage/controller/RoomController.java @@ -1,5 +1,8 @@ package com.jiudian.manage.controller; - +//业务相关类:User(用户实体,封装用户 ID、账号、权限等信息)、UserServiceImpl(用户服务实现类,处理用户业务逻辑); +//工具与常量类:ImageCode(验证码生成工具类)、State(状态常量类,如成功 / 错误码)、StateSignal(统一响应格式工具类); +//Spring 与 Servlet 类:@RestController(REST 控制器注解)、@RequestMapping(URL 映射)、@RequestParam(接收请求参数)、HttpServletResponse(输出响应,如验证码图片)、HttpSession(存储会话数据,如验证码); +//基础类:List(存储用户列表)、Map(接口返回的 JSON 格式载体)、IOException(处理验证码生成的 IO 异常) import com.jiudian.manage.model.Room; import com.jiudian.manage.service.RoomService; import com.jiudian.manage.until.State; @@ -44,7 +47,7 @@ public class RoomController { } return signal.getResult(); } - @RequestMapping("/getRoom.do") + @RequestMapping("/getRoom.do") // public Map selectRoom(@RequestParam int state,@RequestParam int type,@RequestParam int pageNum,@RequestParam int pageSize){ List roomByState = roomService.getRoomByState(state, type,pageNum,pageSize); StateSignal signal = new StateSignal(); diff --git a/src/main/java/com/jiudian/manage/mapper/RoomMapper.java b/src/main/java/com/jiudian/manage/mapper/RoomMapper.java index 33a9187..c1f8618 100644 --- a/src/main/java/com/jiudian/manage/mapper/RoomMapper.java +++ b/src/main/java/com/jiudian/manage/mapper/RoomMapper.java @@ -5,20 +5,22 @@ import org.springframework.stereotype.Repository; import java.util.List; //MyBatis 的 Mapper 接口,用于定义与房间表相关的数据库操作 +//标记当前接口是 “数据访问层组件”,让 Spring 扫描时能识别并管理; @Repository public interface RoomMapper { + //传入要删除的房间 ID(用 Integer 而非 int,支持 null 判断,避免传入无效值); int deleteByPrimaryKey(Integer roomid); - +//全字段插入房间 int insert(Room record); - +//选择性插入房间 int insertSelective(Room record); - +//按主键查询房间 Room selectByPrimaryKey(Integer roomid); - +//选择性更新房间 int updateByPrimaryKeySelective(Room record); - +//全字段更新房间 int updateByPrimaryKey(Room record); - +//按状态和类型查询房间列表 List selectRoomByStateType(Room stateType); diff --git a/src/main/java/com/jiudian/manage/until/FileUtil.java b/src/main/java/com/jiudian/manage/until/FileUtil.java index 3887f0a..9259d12 100644 --- a/src/main/java/com/jiudian/manage/until/FileUtil.java +++ b/src/main/java/com/jiudian/manage/until/FileUtil.java @@ -15,7 +15,7 @@ public class FileUtil { if(!targetFile.exists()){ targetFile.mkdirs(); } - //写入文件 + //写入文件,将文件二进制流(byte[] file)写入指定路径(filePath+fileName) FileOutputStream out = new FileOutputStream(filePath+fileName); out.write(file); out.flush(); diff --git a/src/main/java/com/jiudian/manage/until/ImageCode.java b/src/main/java/com/jiudian/manage/until/ImageCode.java index d728d3d..b99e42e 100644 --- a/src/main/java/com/jiudian/manage/until/ImageCode.java +++ b/src/main/java/com/jiudian/manage/until/ImageCode.java @@ -1,8 +1,11 @@ package com.jiudian.manage.until; - +//图像处理:BufferedImage(图像缓冲区,用于绘制验证码图片)、Graphics(绘图工具,用于画背景、文字、干扰元素)、 +// ImageIO(将图像写入输出流,返回给前端); +//Servlet 相关:HttpServletResponse(向前端输出图片流)、HttpSession(存储正确验证码,供后续验证使用); +//基础工具:Random(生成随机数,用于随机颜色、位置)、OutputStream(字节输出流,承载图片数据)、IOException(处理图像写入的 IO 异常)。 import javax.imageio.ImageIO; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; +import javax.servlet.http.HttpSession;//服务器端的会话存储 import java.awt.*; import java.awt.image.BufferedImage; import java.io.IOException; @@ -12,6 +15,8 @@ import java.util.Random; public class ImageCode { public static final String CODENAME="ImageCode"; //* 生成验证码图片并发送到客户端 + //HttpServletResponse response:Servlet 响应对象,用于将生成的图片流写入前端(前端通过 标签加载); + //HttpSession session:会话对象,用于存储正确的验证码(后续登录时,前端传入的验证码需与 Session 中的值对比 public static void createImage(HttpServletResponse response, HttpSession session) throws IOException { // 创建图像缓冲区 BufferedImage image = new BufferedImage(80, 30, BufferedImage.TYPE_INT_RGB); diff --git a/src/main/java/com/jiudian/manage/until/StateSignal.java b/src/main/java/com/jiudian/manage/until/StateSignal.java index 5536f40..f9eaee9 100644 --- a/src/main/java/com/jiudian/manage/until/StateSignal.java +++ b/src/main/java/com/jiudian/manage/until/StateSignal.java @@ -1,10 +1,13 @@ package com.jiudian.manage.until; - +//HashMap 是 Java 中的哈希表集合,用于存储键值对(key-value), +// 此处作为响应数据的载体,能灵活存储状态码、消息、业务数据等不同类型的信息。 import java.util.HashMap; //StateSignal类是一个响应结果构建器,它: //统一了 API 响应格式:所有接口返回包含状态码和消息的标准格式 public class StateSignal { // 存储响应数据的HashMap + //定义 result 为 HashMap 类型,键(key)是字符串类型(如 “code”“message”“user”), + // 值(value)是 Object 类型(支持存储数字、字符串、实体类对象等任意类型数据) HashMap result = new HashMap(); /** * 添加状态枚举中的键值对 @@ -18,6 +21,7 @@ public class StateSignal { * @param name 键名 * @param val 值 */ + //object val:自定义值(可是任意类型,如 List 列表、int 类型的用户 ID、double 类型的价格); public void put(String name,Object val){ result.put(name,val); }