学习进度条
今日所花时间:一小时
今日代码量:100行
博客量:一篇
了解到的知识点: 继续学习androidStudio 完成学习记录APP的开发
controller层代码(User和ProgrammingRecord)
UserController
package com.example.searchdemo.controller;
import com.example.searchdemo.pojo.User;
import com.example.searchdemo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@CrossOrigin
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
// 用户注册
@PostMapping("/register")
public String register(@RequestBody User user) {
User existingUser = userMapper.selectUserByStudentId(user.getStudentId());
if (existingUser != null) {
// 用户已存在,仅更新其他信息(不更新用户名和密码)
user.setUsername(existingUser.getUsername());
user.setPassword(existingUser.getPassword());
user.setId(existingUser.getId());
int updatedRows = userMapper.updateUserWithoutUsername(user);
if (updatedRows > 0) {
return "用户信息已更新,请重新登录";
} else {
return "用户信息更新失败";
}
} else {
// 新用户注册
int insertedRows = userMapper.insertUser(user);
if (insertedRows > 0) {
return "用户注册成功,请重新登录";
} else {
return "用户注册失败";
}
}
}
// 用户登录
@PostMapping("/login")
public String login(@RequestBody User user) {
User existingUser = userMapper.selectUserByStudentIdAndPassword(user.getStudentId(), user.getPassword());
if (existingUser != null) {
return "登录成功";
} else {
return "用户名或密码错误";
}
}
}
ProgrammingRecordController
package com.example.searchdemo.controller;
import com.example.searchdemo.pojo.ProgrammingRecord;
import com.example.searchdemo.mapper.ProgrammingRecordMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/programmingRecord")
public class ProgrammingRecordController {
@Autowired
private ProgrammingRecordMapper programmingRecordMapper;
// 每日编程记录
@PostMapping("/addRecord")
public String addProgrammingRecord(@RequestBody ProgrammingRecord programmingRecord) {
// 检查 user_id 是否为 null
if (programmingRecord.getUserId() == null) {
return "user_id 不能为空";
}
int insertedRows = programmingRecordMapper.insertProgrammingRecord(programmingRecord);
if (insertedRows > 0) {
return "每日编程记录添加成功";
} else {
return "每日编程记录添加失败";
}
}
}
mapper层(User和ProgrammingRecord)
UserMapper
package com.example.searchdemo.mapper;
import com.example.searchdemo.pojo.User;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface UserMapper {
// 插入新用户,包含密码
@Insert("insert into `user` (`student_id`, `username`, `phone`, `class_name`, `unit`, `password`, `create_time`, `update_time`) " +
"values (#{studentId}, #{username}, #{phone}, #{className}, #{unit}, #{password}, now(), now())")
@Options(useGeneratedKeys = true, keyProperty = "id")
int insertUser(User user);
// 根据学号查询用户
@Select("select * from `user` where `student_id` = #{studentId}")
User selectUserByStudentId(String studentId);
// 更新用户信息(不更新用户名和密码)
@Update("update `user` set `phone` = #{phone}, `class_name` = #{className}, `unit` = #{unit}, `update_time` = now() where `id` = #{id}")
int updateUserWithoutUsername(User user);
// 根据学号和密码查询用户
@Select("select * from `user` where `student_id` = #{studentId} and `password` = #{password}")
User selectUserByStudentIdAndPassword(String studentId, String password);
}
ProgrammingRecordMapper
package com.example.searchdemo.mapper;
import com.example.searchdemo.pojo.ProgrammingRecord;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ProgrammingRecordMapper {
// 插入每日编程记录
@Insert("insert into `programming_record` (`user_id`, `record_date`, `psp_stage`, `content`, `time_spent`, `create_time`) " +
"values (#{userId}, #{recordDate}, #{pspStage}, #{content}, #{timeSpent}, now())")
@Options(useGeneratedKeys = true, keyProperty = "id")
int insertProgrammingRecord(ProgrammingRecord programmingRecord);
}
今天只实现了部分功能,其他功能还要抽时间继续做。

浙公网安备 33010602011771号