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
    }
    ]
    }

  2. 给 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<Music> findMusicByMusicName(String name);

    /**
     查询所有的⾳乐
     @return
     */
    List<Music> findMusic();

XML映射

复制代码
    <select id="findMusicByMusicName"
            resultType="com.example.musicplayer.model.Music">
            select * from music where title like concat('%',#{musicName},'%')
    </select>
    <select id="findMusic" resultType="com.example.musicserver.model.Music">
            select * from music
    </select>

四、MusicController类新增⽅法

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

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

测试工作

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

相关推荐
树℡独5 小时前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
a41324477 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
Configure-Handler7 小时前
buildroot System configuration
java·服务器·数据库
津津有味道7 小时前
易语言TCP服务端接收刷卡数据并向客户端读卡器发送指令
服务器·网络协议·tcp·易语言
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.8 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
Genie cloud8 小时前
1Panel SSL证书申请完整教程
服务器·网络协议·云计算·ssl
一点程序8 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
!chen8 小时前
linux服务器静默安装Oracle26ai
linux·运维·服务器
莫大3308 小时前
2核2G云服务器PHP8.5+MySQL9.0+Nginx(LNMP)安装WordPress网站详细教程
运维·服务器·nginx
2501_927773079 小时前
imx6驱动
linux·运维·服务器