# springboot-day03 **Repository Path**: tk_tk/springboot-day03 ## Basic Information - **Project Name**: springboot-day03 - **Description**: 记录提交的第三次作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-30 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 一、MusicCotroller.java ```java package com.softeem.yqst_server.controller; import com.softeem.yqst_server.dto.Result; import com.softeem.yqst_server.entity.Music; import com.softeem.yqst_server.service.MusicService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RequestMapping("/music") //命名空间(namespace) @RestController public class MusicController { //完成以下有关音乐资源的管理功能 //1. 音乐添加 //2. 音乐列表查询 //3. 音乐删除(根据ID) //4. 根据音乐名称模糊查询 //5. 根据ID修改音乐信息 //6. 根据ID查询音乐详情 @Autowired private MusicService musicService; // 音乐添加 @PostMapping("/add") public Result addMusic(@RequestBody Music music) { musicService.save(music); return Result.ok().setMsg("音乐添加成功"); } // 音乐列表查询 @GetMapping("/list") public Result listMusic() { List musicList = musicService.list(); return Result.ok().setData(musicList); } // 音乐删除(根据ID) @DeleteMapping("/delete/{id}") public Result deleteMusic(@PathVariable Integer id) { musicService.removeById(id); return Result.ok().setMsg("音乐删除成功"); } // 根据音乐名称模糊查询 @GetMapping("/search") public Result searchMusic(@RequestParam String keyword) { List musicList = musicService.searchMusicByName(keyword); return Result.ok().setData(musicList); } // 根据ID修改音乐信息 @PutMapping("/update/{id}") public Result updateMusic(@PathVariable Integer id, @RequestBody Music music) { music.setId(id); musicService.updateById(music); return Result.ok().setMsg("音乐信息更新成功"); } // 根据ID查询音乐详情 @GetMapping("/detail/{id}") public Result getMusicDetail(@PathVariable Integer id) { Music music = musicService.getById(id); return Result.ok().setData(music); } } /* * @PostMapping("/add"): 用于处理添加音乐的 POST 请求,接收一个 Music 对象。 @GetMapping("/list"): 用于处理查询所有音乐的 GET 请求,返回音乐列表。 @DeleteMapping("/delete/{id}"): 用于处理根据 ID 删除音乐的 DELETE 请求,接收路径变量 id。 @GetMapping("/search"): 用于处理根据音乐名称模糊查询的 GET 请求,接收查询关键词 keyword。 @PutMapping("/update/{id}"): 用于处理根据 ID 修改音乐信息的 PUT 请求,接收路径变量 id 和请求体中的 Music 对象。 @GetMapping("/detail/{id}"): 用于处理根据 ID 查询音乐详情的 GET 请求,接收路径变量 id。 */ ``` 二、MusicMapper.java ```java package com.softeem.yqst_server.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.softeem.yqst_server.entity.Music; import org.apache.ibatis.annotations.Param; import java.util.List; public interface MusicMapper extends BaseMapper { List searchMusicByName(@Param("keyword") String keyword); } ``` 三、MusicService.java ```java package com.softeem.yqst_server.service; import com.baomidou.mybatisplus.extension.service.IService; import com.softeem.yqst_server.entity.Music; import java.util.List; /** * 音乐服务接口,定义了对音乐资源的增删改查操作。 */ public interface MusicService extends IService { boolean save(Music music); List list(); void removeById(Integer id); List searchMusicByName(String keyword); boolean updateById(Music music); Music getById(Integer id); } ``` 四、MusicServiceImpl.java ```java package com.softeem.yqst_server.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.softeem.yqst_server.entity.Music; import com.softeem.yqst_server.mapper.MusicMapper; import com.softeem.yqst_server.service.MusicService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 音乐服务实现类,具体实现了对音乐资源的增删改查操作。 */ @Service public class MusicServiceImpl extends ServiceImpl implements MusicService { @Autowired private MusicMapper musicMapper; @Override public boolean save(Music music) { musicMapper.insert(music); return false; } @Override public List list() { return musicMapper.selectList(null); } @Override public void removeById(Integer id) { musicMapper.deleteById(id); } @Override public List searchMusicByName(String keyword) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.like("name", keyword); return musicMapper.selectList(wrapper); } @Override public boolean updateById(Music music) { musicMapper.updateById(music); return false; } @Override public Music getById(Integer id) { return musicMapper.selectById(id); } } ```