> 技术文档 > Spring Boot音乐服务器项目-查询音乐模块

Spring Boot音乐服务器项目-查询音乐模块


一、项目架构概览

该音乐播放服务器采用经典的MVC分层架构,核心模块包括:

  1. 实体层:定义数据模型
  2. Mapper层:数据库操作接口
  3. Controller层:HTTP请求处理
  4. 工具层:加密、响应封装等辅助功能

项目核心功能包括用户认证、音乐上传/播放、收藏管理等,下面按分层结构详解实现逻辑。


二、接口设计
  1. ⽀持模糊查询
  2. ⽀持传⼊参数为空
请求示例
{ \"method\": \"get\", \"url\": \"/music/findmusic\", \"data\": { \"musicName\": musicName }}
响应示例
  1. 未给 musicName 传参时
{ \"status\": 0, \"message\": \"查询到了歌曲的信息\", \"data\": [ { \"id\": 19, \"title\": \"银河星斗(女生版)\", \"singer\": \"gaobo\", \"url\": \"/music/get?path=银河与星斗(女生版)\", \"time\": \"2022-03-28\", \"userid\": 3 }, { \"id\": 20, \"title\": \"liu\", \"singer\": \"bit\", \"url\": \"/music/get?path=liu\", \"time\": \"2022-03-28\", \"userid\": 3 } ]}
  1. 给 musicName 传参时
{ \"status\": 0, \"message\": \"查询到了歌曲的信息\", \"data\": [ { \"id\": 19, \"title\": \"银河与星斗(女生版)\", \"singer\": \"gaobo\", \"url\": \"/music/get?path=银河与星斗(女生版)\", \"time\": \"2022-03-28\", \"userid\": 3 } ]}

三、Mapper层实现

使用MyBatis实现数据库操作,核心接口:

1. 查询功能Mapper
 /** *根据歌曲名字,查询⾳乐 * @param name * @return */ List findMusicByMusicName(String name); /** 查询所有的⾳乐 @return */ List findMusic();

XML映射

  select * from music where title like concat(\'%\',#{musicName},\'%\')   select * from music 

四、MusicController类新增⽅法

处理HTTP请求并调用Mapper操作:

        音乐查询接口
/** 根据musicName查询音乐 @param musicName @return */ @RequestMapping(\"/findmusic\") public ResponseBodyMessage<List> findMusic(@RequestParam(required=false)String musicName) { List musicList = null; if(musicName != null) { musicList = musicMapper.findMusicByMusicName(musicName); }else { //默认查询全部的⾳乐 musicList = musicMapper.findMusic(); } return new ResponseBodyMessage(0,\"查询到了歌曲的信息\",musicList); }

测试工作 

 


 代码仓库:查询音乐接口开发 7.22音乐服务器 - Gitee.com