栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

音乐播放器 SSM整合简单小项目(分模块开发)(超详细解释)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

音乐播放器 SSM整合简单小项目(分模块开发)(超详细解释)

1、项目简介        1.1  本项目是一个简单的Java音乐播放器微信小程序,开发工具为微信开发者工 具、IDEA2019、PostMan、SqlYog 用到的框架为 MyBatis、Spring、SpringMVC实 现的功能为音乐的查找、播放,暂停、上一首、下一首,歌单的查询、创建。

 

 2、项目结构         1.1 MySQL:

 很简单的两张表,我也将这两张表的数据导出来了,复制运行一下就ok了

;

;

;
;
;
;
CREATE DATAbase `wyy_music` ;

USE `wyy_music`;



DROp TABLE IF EXISTS `tb_music`;

CREATE TABLE `tb_music` (
  `music_id` int(11) NOT NULL AUTO_INCREMENT,
  `music_name` varchar(255) NOT NULL,
  `music_album_name` varchar(255) NOT NULL,
  `music_album_picUrl` varchar(255) NOT NULL,
  `music_mp3Url` varchar(255) NOT NULL,
  `music_artist_name` varchar(255) NOT NULL,
  `sheet_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`music_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;



insert  into `tb_music`(`music_id`,`music_name`,`music_album_name`,`music_album_picUrl`,`music_mp3Url`,`music_artist_name`,`sheet_id`) values 
(1,'光年之外','光年之外','https://imgessl.kugou.com/stdmusic/20161229/20161229233400375274.jpg','https://webfs.ali.kugou.com/202110231001/f8ce61782b9164c18fb5f351e63893b9/KGTX/CLTX001/f87095bff0de7c636c3a3b8aac702d76.mp3','G.E.M.邓紫棋',1),
(2,'夜空中最亮的星','世界','https://imgessl.kugou.com/stdmusic/20150719/20150719010047203836.jpg','https://webfs.ali.kugou.com/202110231000/1bbc218df11c188d157670bb9394bbdc/G202/M04/1B/13/aocBAF55G0-ADd0HAD2Y88Efqbw072.mp3','逃跑计划',1),
(3,'只要平凡','只要平凡','https://y.qq.com/music/photo_new/T002R300x300M000000K7srf1rZtOX.jpg?max_age=2592000','https://webfs.tx.kugou.com/202110230959/454d79bdb51b3853bdbef16cdeabad0f/KGTX/CLTX001/38aead7ed546b0736791ebb25c3a3951.mp3','张杰/张碧晨',2),
(4,'你要跳舞吗','生命因你而火热','https://imgessl.kugou.com/stdmusic/20160407/20160407002744966139.jpg','https://webfs.ali.kugou.com/202110230959/4a0cf46bfc3a8c564ee035dc28062d14/KGTX/CLTX001/58ffa0221ed9397e7ad9b889cdbe1a4a.mp3','新裤子乐队',2),
(5,'Timber','Timber','https://imgessl.kugou.com/stdmusic/20190517/20190517155803444871.jpg','https://webfs.ali.kugou.com/202110231008/84aa125fef71bba4becb6d4a23f14f9b/G192/M07/03/01/YIcBAF5ajbWAD3zrADH2ScRvxNQ240.mp3','pitbull',1);



DROP TABLE IF EXISTS `tb_sheet`;

CREATE TABLE `tb_sheet` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sheet_name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;



insert  into `tb_sheet`(`id`,`sheet_name`) values 
(1,'热歌榜'),
(2,'新歌榜'),
(3,'原创榜'),

;
;
;
;
tb_music

 音乐表中的数据必为 音乐Id、专辑名称、演唱者名称、这首音乐的图片(这里用的是酷狗音乐的url)、音乐MP3(这里也是用的酷狗的url)、歌手名字、所对应的列表

因为音乐和图片都是用的网络资源,可能过段时间就访问不到了,因此有两种解决方式         第一种就是每次运行前就去酷狗音乐找到几个音乐的url 加入到数据库中,使用谷歌浏览器在网页点击右键--->检查,url不要找错、否则会没有效果的

         第二种就是自己再解压一个tomcat下载到本地的服务器里面,url改成本地的,每次运行前先启动资源服务器,具体方法这里就不过多演示了

        2.2 maven         spring-ssm-parent为父工程          spring-dao 和 spring-service为spring-ssm-parent两个子模块          spring-web为父模块外的web服务模块,用来和前端交互

 其中spring-dao、spring-service的结构为:

 spring-web的结构为:

 3、代码         1.1 dao (我这里除了QuerryVo 其他的类、接口和对应的mapper文件都是通过逆向工程实现的,节省了很多时间,我也建议大家通过逆向工程去自己生成这些文件,可以避免很多错误,至于逆向工程怎么实现的可以参考我下面这篇文章。

https://blog.csdn.net/layonly/article/details/120712564?spm=1001.2014.3001.5502https://blog.csdn.net/layonly/article/details/120712564?spm=1001.2014.3001.5502https://blog.csdn.net/layonly/article/details/120712564?spm=1001.2014.3001.5502

        dao层的代码可能会有点多,因为这99%都是通过逆向工程生成的,有很多方法都没用的到,不要担心蛤

咱们先配置一下pom.xml


    
        spring-ssm-parent
        com.ssm
        1.0-SNAPSHOT
    
    4.0.0
    jar

    
        
            mysql
            mysql-connector-java
            8.0.26
        
        
            com.alibaba
            druid
            1.2.6
        
        
            org.mybatis
            mybatis
            3.5.7
        
        
            org.mybatis.generator
            mybatis-generator-core
            1.3.6
        
        
            org.springframework
            spring-context
            5.3.10
        
        
            org.springframework
            spring-jdbc
            5.3.10
        
        
            org.mybatis
            mybatis-spring
            2.0.6
        
        
            org.projectlombok
            lombok
            1.18.20
        
    
    spring-dao


1.1.1  TbMusicMapper 接口
package com.qwz.dao;

import java.util.List;

import com.qwz.entity.TbMusic;
import com.qwz.entity.TbMusicExample;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

//这个注解是讲本类交给spring管理
@Repository
public interface TbMusicMapper {
    long countByExample(TbMusicExample example);

    int deleteByExample(TbMusicExample example);

    int deleteByPrimaryKey(Integer musicId);

    int insert(TbMusic record);

    int insertSelective(TbMusic record);

    List selectByExample(TbMusicExample example);

    TbMusic selectByPrimaryKey(Integer musicId);

    int updateByExampleSelective(@Param("record") TbMusic record, @Param("example") TbMusicExample example);

    int updateByExample(@Param("record") TbMusic record, @Param("example") TbMusicExample example);

    int updateByPrimaryKeySelective(TbMusic record);

    int updateByPrimaryKey(TbMusic record);

}
 1.1.2 TbSheetMapper 接口
package com.qwz.dao;

import com.qwz.entity.TbSheet;
import com.qwz.entity.TbSheetExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface TbSheetMapper {
    long countByExample(TbSheetExample example);

    int deleteByExample(TbSheetExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(TbSheet record);

    int insertSelective(TbSheet record);

    List selectByExample(TbSheetExample example);

    TbSheet selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") TbSheet record, @Param("example") TbSheetExample example);

    int updateByExample(@Param("record") TbSheet record, @Param("example") TbSheetExample example);

    int updateByPrimaryKeySelective(TbSheet record);

    int updateByPrimaryKey(TbSheet record);

    void insertSheet(String sheetName);
}
        1.2 entity 1.2.1 TbMusic、TbMusicExample
package com.qwz.entity;

public class TbMusic {
    private Integer musicId;

    private String musicName;

    private String musicAlbumName;

    private String musicAlbumPicurl;

    private String musicMp3url;

    private String musicArtistName;

    private Integer sheetId;

    public Integer getMusicId() {
        return musicId;
    }

    public void setMusicId(Integer musicId) {
        this.musicId = musicId;
    }

    public String getMusicName() {
        return musicName;
    }

    public void setMusicName(String musicName) {
        this.musicName = musicName == null ? null : musicName.trim();
    }

    public String getMusicAlbumName() {
        return musicAlbumName;
    }

    public void setMusicAlbumName(String musicAlbumName) {
        this.musicAlbumName = musicAlbumName == null ? null : musicAlbumName.trim();
    }

    public String getMusicAlbumPicurl() {
        return musicAlbumPicurl;
    }

    public void setMusicAlbumPicurl(String musicAlbumPicurl) {
        this.musicAlbumPicurl = musicAlbumPicurl == null ? null : musicAlbumPicurl.trim();
    }

    public String getMusicMp3url() {
        return musicMp3url;
    }

    public void setMusicMp3url(String musicMp3url) {
        this.musicMp3url = musicMp3url == null ? null : musicMp3url.trim();
    }

    public String getMusicArtistName() {
        return musicArtistName;
    }

    public void setMusicArtistName(String musicArtistName) {
        this.musicArtistName = musicArtistName == null ? null : musicArtistName.trim();
    }

    public Integer getSheetId() {
        return sheetId;
    }

    public void setSheetId(Integer sheetId) {
        this.sheetId = sheetId;
    }
}
package com.qwz.entity;

import java.util.ArrayList;
import java.util.List;

public class TbMusicExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List oredCriteria;

    public TbMusicExample() {
        oredCriteria = new ArrayList();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List getAllCriteria() {
            return criteria;
        }

        public List getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMusicIdIsNull() {
            addCriterion("music_id is null");
            return (Criteria) this;
        }

        public Criteria andMusicIdIsNotNull() {
            addCriterion("music_id is not null");
            return (Criteria) this;
        }

        public Criteria andMusicIdEqualTo(Integer value) {
            addCriterion("music_id =", value, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdNotEqualTo(Integer value) {
            addCriterion("music_id <>", value, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdGreaterThan(Integer value) {
            addCriterion("music_id >", value, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("music_id >=", value, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdLessThan(Integer value) {
            addCriterion("music_id <", value, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdLessThanOrEqualTo(Integer value) {
            addCriterion("music_id <=", value, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdIn(List values) {
            addCriterion("music_id in", values, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdNotIn(List values) {
            addCriterion("music_id not in", values, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdBetween(Integer value1, Integer value2) {
            addCriterion("music_id between", value1, value2, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicIdNotBetween(Integer value1, Integer value2) {
            addCriterion("music_id not between", value1, value2, "musicId");
            return (Criteria) this;
        }

        public Criteria andMusicNameIsNull() {
            addCriterion("music_name is null");
            return (Criteria) this;
        }

        public Criteria andMusicNameIsNotNull() {
            addCriterion("music_name is not null");
            return (Criteria) this;
        }

        public Criteria andMusicNameEqualTo(String value) {
            addCriterion("music_name =", value, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameNotEqualTo(String value) {
            addCriterion("music_name <>", value, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameGreaterThan(String value) {
            addCriterion("music_name >", value, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameGreaterThanOrEqualTo(String value) {
            addCriterion("music_name >=", value, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameLessThan(String value) {
            addCriterion("music_name <", value, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameLessThanOrEqualTo(String value) {
            addCriterion("music_name <=", value, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameLike(String value) {
            addCriterion("music_name like", value, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameNotLike(String value) {
            addCriterion("music_name not like", value, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameIn(List values) {
            addCriterion("music_name in", values, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameNotIn(List values) {
            addCriterion("music_name not in", values, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameBetween(String value1, String value2) {
            addCriterion("music_name between", value1, value2, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicNameNotBetween(String value1, String value2) {
            addCriterion("music_name not between", value1, value2, "musicName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameIsNull() {
            addCriterion("music_album_name is null");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameIsNotNull() {
            addCriterion("music_album_name is not null");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameEqualTo(String value) {
            addCriterion("music_album_name =", value, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameNotEqualTo(String value) {
            addCriterion("music_album_name <>", value, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameGreaterThan(String value) {
            addCriterion("music_album_name >", value, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameGreaterThanOrEqualTo(String value) {
            addCriterion("music_album_name >=", value, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameLessThan(String value) {
            addCriterion("music_album_name <", value, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameLessThanOrEqualTo(String value) {
            addCriterion("music_album_name <=", value, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameLike(String value) {
            addCriterion("music_album_name like", value, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameNotLike(String value) {
            addCriterion("music_album_name not like", value, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameIn(List values) {
            addCriterion("music_album_name in", values, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameNotIn(List values) {
            addCriterion("music_album_name not in", values, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameBetween(String value1, String value2) {
            addCriterion("music_album_name between", value1, value2, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumNameNotBetween(String value1, String value2) {
            addCriterion("music_album_name not between", value1, value2, "musicAlbumName");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlIsNull() {
            addCriterion("music_album_picUrl is null");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlIsNotNull() {
            addCriterion("music_album_picUrl is not null");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlEqualTo(String value) {
            addCriterion("music_album_picUrl =", value, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlNotEqualTo(String value) {
            addCriterion("music_album_picUrl <>", value, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlGreaterThan(String value) {
            addCriterion("music_album_picUrl >", value, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlGreaterThanOrEqualTo(String value) {
            addCriterion("music_album_picUrl >=", value, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlLessThan(String value) {
            addCriterion("music_album_picUrl <", value, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlLessThanOrEqualTo(String value) {
            addCriterion("music_album_picUrl <=", value, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlLike(String value) {
            addCriterion("music_album_picUrl like", value, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlNotLike(String value) {
            addCriterion("music_album_picUrl not like", value, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlIn(List values) {
            addCriterion("music_album_picUrl in", values, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlNotIn(List values) {
            addCriterion("music_album_picUrl not in", values, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlBetween(String value1, String value2) {
            addCriterion("music_album_picUrl between", value1, value2, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicAlbumPicurlNotBetween(String value1, String value2) {
            addCriterion("music_album_picUrl not between", value1, value2, "musicAlbumPicurl");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlIsNull() {
            addCriterion("music_mp3Url is null");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlIsNotNull() {
            addCriterion("music_mp3Url is not null");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlEqualTo(String value) {
            addCriterion("music_mp3Url =", value, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlNotEqualTo(String value) {
            addCriterion("music_mp3Url <>", value, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlGreaterThan(String value) {
            addCriterion("music_mp3Url >", value, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlGreaterThanOrEqualTo(String value) {
            addCriterion("music_mp3Url >=", value, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlLessThan(String value) {
            addCriterion("music_mp3Url <", value, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlLessThanOrEqualTo(String value) {
            addCriterion("music_mp3Url <=", value, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlLike(String value) {
            addCriterion("music_mp3Url like", value, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlNotLike(String value) {
            addCriterion("music_mp3Url not like", value, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlIn(List values) {
            addCriterion("music_mp3Url in", values, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlNotIn(List values) {
            addCriterion("music_mp3Url not in", values, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlBetween(String value1, String value2) {
            addCriterion("music_mp3Url between", value1, value2, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicMp3urlNotBetween(String value1, String value2) {
            addCriterion("music_mp3Url not between", value1, value2, "musicMp3url");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameIsNull() {
            addCriterion("music_artist_name is null");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameIsNotNull() {
            addCriterion("music_artist_name is not null");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameEqualTo(String value) {
            addCriterion("music_artist_name =", value, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameNotEqualTo(String value) {
            addCriterion("music_artist_name <>", value, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameGreaterThan(String value) {
            addCriterion("music_artist_name >", value, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameGreaterThanOrEqualTo(String value) {
            addCriterion("music_artist_name >=", value, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameLessThan(String value) {
            addCriterion("music_artist_name <", value, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameLessThanOrEqualTo(String value) {
            addCriterion("music_artist_name <=", value, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameLike(String value) {
            addCriterion("music_artist_name like", value, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameNotLike(String value) {
            addCriterion("music_artist_name not like", value, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameIn(List values) {
            addCriterion("music_artist_name in", values, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameNotIn(List values) {
            addCriterion("music_artist_name not in", values, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameBetween(String value1, String value2) {
            addCriterion("music_artist_name between", value1, value2, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andMusicArtistNameNotBetween(String value1, String value2) {
            addCriterion("music_artist_name not between", value1, value2, "musicArtistName");
            return (Criteria) this;
        }

        public Criteria andSheetIdIsNull() {
            addCriterion("sheet_id is null");
            return (Criteria) this;
        }

        public Criteria andSheetIdIsNotNull() {
            addCriterion("sheet_id is not null");
            return (Criteria) this;
        }

        public Criteria andSheetIdEqualTo(Integer value) {
            addCriterion("sheet_id =", value, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdNotEqualTo(Integer value) {
            addCriterion("sheet_id <>", value, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdGreaterThan(Integer value) {
            addCriterion("sheet_id >", value, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("sheet_id >=", value, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdLessThan(Integer value) {
            addCriterion("sheet_id <", value, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdLessThanOrEqualTo(Integer value) {
            addCriterion("sheet_id <=", value, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdIn(List values) {
            addCriterion("sheet_id in", values, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdNotIn(List values) {
            addCriterion("sheet_id not in", values, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdBetween(Integer value1, Integer value2) {
            addCriterion("sheet_id between", value1, value2, "sheetId");
            return (Criteria) this;
        }

        public Criteria andSheetIdNotBetween(Integer value1, Integer value2) {
            addCriterion("sheet_id not between", value1, value2, "sheetId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singlevalue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSinglevalue() {
            return singlevalue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List) {
                this.listValue = true;
            } else {
                this.singlevalue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
1.2.2  TbSheet、TbSheetExample
package com.qwz.entity;

public class TbSheet {
    private Integer id;

    private String sheetName;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getSheetName() {
        return sheetName;
    }

    public void setSheetName(String sheetName) {
        this.sheetName = sheetName == null ? null : sheetName.trim();
    }
}
package com.qwz.entity;

import java.util.ArrayList;
import java.util.List;

public class TbSheetExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List oredCriteria;

    public TbSheetExample() {
        oredCriteria = new ArrayList();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List getAllCriteria() {
            return criteria;
        }

        public List getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSheetNameIsNull() {
            addCriterion("sheet_name is null");
            return (Criteria) this;
        }

        public Criteria andSheetNameIsNotNull() {
            addCriterion("sheet_name is not null");
            return (Criteria) this;
        }

        public Criteria andSheetNameEqualTo(String value) {
            addCriterion("sheet_name =", value, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameNotEqualTo(String value) {
            addCriterion("sheet_name <>", value, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameGreaterThan(String value) {
            addCriterion("sheet_name >", value, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameGreaterThanOrEqualTo(String value) {
            addCriterion("sheet_name >=", value, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameLessThan(String value) {
            addCriterion("sheet_name <", value, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameLessThanOrEqualTo(String value) {
            addCriterion("sheet_name <=", value, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameLike(String value) {
            addCriterion("sheet_name like", value, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameNotLike(String value) {
            addCriterion("sheet_name not like", value, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameIn(List values) {
            addCriterion("sheet_name in", values, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameNotIn(List values) {
            addCriterion("sheet_name not in", values, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameBetween(String value1, String value2) {
            addCriterion("sheet_name between", value1, value2, "sheetName");
            return (Criteria) this;
        }

        public Criteria andSheetNameNotBetween(String value1, String value2) {
            addCriterion("sheet_name not between", value1, value2, "sheetName");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singlevalue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSinglevalue() {
            return singlevalue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List) {
                this.listValue = true;
            } else {
                this.singlevalue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
1.2.3  QueryVo
package com.qwz.vo;

import lombok.Data;
//这里创建实体类的作用是查询用的
//这个是使用了lombok插件,意思就是帮你创建好get、set等方法
@Data
public class QueryVo {
    private String musicName;
    private String artistName;
    private Integer[] sheetId;
}
1.2.4 TbMusicMapper、TbSheetMapper



  
    
    
    
    
    
    
    
  

  
    
      
        
          
            
              
                
                  and ${criterion.condition}
                
                
                  and ${criterion.condition} #{criterion.value}
                
                
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                
                
                  and ${criterion.condition}
                  
                    #{listItem}
                  
                
              
            
          
        
      
    
  
  
    
      
        
          
            
              
                
                  and ${criterion.condition}
                
                
                  and ${criterion.condition} #{criterion.value}
                
                
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                
                
                  and ${criterion.condition}
                  
                    #{listItem}
                  
                
              
            
          
        
      
    
  
  
    music_id, music_name, music_album_name, music_album_picUrl, music_mp3Url, music_artist_name, 
    sheet_id
  
  
    select 
    
    from tb_music
    where music_id = #{musicId,jdbcType=INTEGER}
  
  
    delete from tb_music
    where music_id = #{musicId,jdbcType=INTEGER}
  
  
    delete from tb_music
    
      
    
  
  
    insert into tb_music (music_id, music_name, music_album_name, 
      music_album_picUrl, music_mp3Url, music_artist_name, 
      sheet_id)
    values (#{musicId,jdbcType=INTEGER}, #{musicName,jdbcType=VARCHAR}, #{musicAlbumName,jdbcType=VARCHAR}, 
      #{musicAlbumPicurl,jdbcType=VARCHAR}, #{musicMp3url,jdbcType=VARCHAR}, #{musicArtistName,jdbcType=VARCHAR}, 
      #{sheetId,jdbcType=INTEGER})
  
  
    insert into tb_music
    
      
        music_id,
      
      
        music_name,
      
      
        music_album_name,
      
      
        music_album_picUrl,
      
      
        music_mp3Url,
      
      
        music_artist_name,
      
      
        sheet_id,
      
    
    
      
        #{musicId,jdbcType=INTEGER},
      
      
        #{musicName,jdbcType=VARCHAR},
      
      
        #{musicAlbumName,jdbcType=VARCHAR},
      
      
        #{musicAlbumPicurl,jdbcType=VARCHAR},
      
      
        #{musicMp3url,jdbcType=VARCHAR},
      
      
        #{musicArtistName,jdbcType=VARCHAR},
      
      
        #{sheetId,jdbcType=INTEGER},
      
    
  
  
    select
    
      distinct
    
    
    from tb_sheet
    
      
    
    
      order by ${orderByClause}
    
  
  
    select count(*) from tb_sheet
    
      
    
  
  
    update tb_sheet
    
      
        id = #{record.id,jdbcType=INTEGER},
      
      
        sheet_name = #{record.sheetName,jdbcType=VARCHAR},
      
    
    
      
    
  
  
    update tb_sheet
    set id = #{record.id,jdbcType=INTEGER},
      sheet_name = #{record.sheetName,jdbcType=VARCHAR}
    
      
    
  
  
    update tb_sheet
    
      
        sheet_name = #{sheetName,jdbcType=VARCHAR},
      
    
    where id = #{id,jdbcType=INTEGER}
  
  
    update tb_sheet
    set sheet_name = #{sheetName,jdbcType=VARCHAR}
    where id = #{id,jdbcType=INTEGER}
  
1.2.5 application.xml、db.properties、mybatis-config.xml(这三个文件的名字不要搞错蛤)

 

        

        

        
            
            
            
            
        

        
            
            
            
                
                    
                        
                            
                            
                                helperDialect=mysql
                                reasonable=true
                                supportMethodsArguments=true
                            
                        
                    
                
            
        
    
        
    


db.driverClassName = com.mysql.cj.jdbc.Driver
#url、username、password记着改成你们自己的数据库的蛤
db.url = jdbc:mysql://localhost:3306/wyy_music?serverTimezone=Asia/Shanghai&characterEncoding=UTF8
db.username=root
db.password=1234




        1.2  sping-service(spring-dao写完之后,要记得先打成jar包)

 接着在pom.xml中添加依赖


    
        spring-ssm-parent
        com.ssm
        1.0-SNAPSHOT
    
    jar
    4.0.0

    spring-service

    
        
            com.ssm
            spring-dao
            1.0-SNAPSHOT
        


        
            org.aspectj
            aspectjweaver
            1.9.7
        
        
            org.springframework
            spring-tx
            5.3.10
        
        
            junit
            junit
            4.13.2
        
    

 1.2.1 MusicService、SheetService
package com.qwz.service;

import com.qwz.entity.TbMusic;
import com.qwz.vo.QueryVo;


import java.util.List;

public interface MusicService {

    List findAll();

    TbMusic findById(Integer id);

    List findByQueryVo(QueryVo queryVo);

    TbMusic findLastMusic(Integer musicId);

    TbMusic findBeforeMusic(Integer musicId);
}
package com.qwz.service;

import com.qwz.entity.TbSheet;

import java.util.List;

public interface SheetService {

    List findAllSheet();

    void addSheet(String sheetName);

}
1.2.2 MusicServiceImpl、SheetServiceImpl
package com.qwz.service.impl;

import com.qwz.dao.TbMusicMapper;
import com.qwz.entity.TbMusic;
import com.qwz.entity.TbMusicExample;
import com.qwz.service.MusicService;
import com.qwz.vo.QueryVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.List;

@Service
public class MusicServiceImpl implements MusicService {

//    通过spring注解注入对象
    @Autowired
    private TbMusicMapper tbMusicMapper;
//查找全部歌曲的方法
    @Override
    public List findAll() {
        return tbMusicMapper.selectByExample(null);
    }
//通过id查找音乐的方法
    @Override
    public TbMusic findById(Integer id) {
        return tbMusicMapper.selectByPrimaryKey(id);
    }
//模糊查找的方法
    @Override
    public List findByQueryVo(QueryVo queryVo) {
        TbMusicExample tbMusicExample = new TbMusicExample();
        TbMusicExample.Criteria criteria = tbMusicExample.createCriteria();
//        添加条件
        if (queryVo.getMusicName()!=null) {
            criteria.andMusicNameLike("%" + queryVo.getMusicName() + "%");
        }
        if (queryVo.getArtistName()!=null) {
            criteria.andMusicArtistNameEqualTo(queryVo.getArtistName());
        }
        if (queryVo.getSheetId()!=null) {
            criteria.andSheetIdIn(Arrays.asList(queryVo.getSheetId()));
        }

        List tbMusics = tbMusicMapper.selectByExample(tbMusicExample);

        return tbMusics;
    }
//切换到下一首歌的方法
    @Override
    public TbMusic findLastMusic(Integer musicId) {
        List tbMusics = tbMusicMapper.selectByExample(null);
        int size = tbMusics.size();
        if (musicId==size){
            return tbMusicMapper.selectByPrimaryKey(1);
        }else {
            return tbMusicMapper.selectByPrimaryKey(musicId+1);
        }
    }
//切换到上一首歌曲的方法
    @Override
    public TbMusic findBeforeMusic(Integer musicId) {
        List tbMusics = tbMusicMapper.selectByExample(null);
        int size = tbMusics.size();
        if (musicId==1){
            return tbMusicMapper.selectByPrimaryKey(size);
        }else {
            return tbMusicMapper.selectByPrimaryKey(musicId-1);
        }
    }
}
package com.qwz.service.impl;

import com.qwz.dao.TbSheetMapper;
import com.qwz.entity.TbSheet;
import com.qwz.service.SheetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SheetServiceImpl implements SheetService {
//这里也是通过spring注入对象
    @Autowired
    private TbSheetMapper sheetMapper;
//查找全部的歌单
    @Override
    public List findAllSheet() {
        return sheetMapper.selectByExample(null);
    }
//添加歌单
    @Override
    public void addSheet(String sheetName) {
       sheetMapper.insertSheet(sheetName);
    }
}
1.2.3 applicationContext.xml(这里的datasource会报红,但是不影响运行)

 


    
        
    


    
        
            
            
        
    
    

    
        
        
    

1.3 spring-web(创建的时候需要创建web工程!!!接着在main中加添加java和resources包并标记就行)(同时也是需要把spring-service打包 如果打包失败的话可以先把父工程打包,再打包子模块)

先在pom.xml导入依赖



  4.0.0

  com.ssm
  spring-ssm-web
  1.0-SNAPSHOT
  war

  spring-ssm-web Maven Webapp
  
  http://www.example.com

  
    
      com.ssm
      spring-service
      1.0-SNAPSHOT
    
    
      javax.servlet
      servlet-api
      2.5
    
    
      javax.servlet
      jsp-api
      2.0
    
    
      org.springframework
      spring-webmvc
      5.3.10
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.13.0
    
    
      javax.servlet
      jstl
      1.2
    
  

1.1 MusicController
package com.qwz.controller;

import com.qwz.entity.TbMusic;
import com.qwz.service.MusicService;
import com.qwz.vo.QueryVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("music")
public class MusicController {
    @Autowired
    private MusicService musicService;

    @RequestMapping("findAll")
    public List findAll(){
        return musicService.findAll();
    }

    @RequestMapping(value = "findById")
    public TbMusic findById(@RequestParam("musicId") Integer id){
        return musicService.findById(id);
    }

    @RequestMapping("query")
    public List queryVo(QueryVo queryVo){
        return musicService.findByQueryVo(queryVo);

    }

    @RequestMapping("findBeforeMusic")
    public TbMusic findBeforeMusic(@RequestParam("currentId") Integer musicId){
        return musicService.findBeforeMusic(musicId);
    }

    @RequestMapping("findLastMusic")
    public TbMusic findLastMusic(@RequestParam("currentId") Integer musicId){
        return musicService.findLastMusic(musicId);
    }
}
1.2 SheetController
package com.qwz.controller;

import com.qwz.entity.TbSheet;
import com.qwz.service.SheetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("sheet")
public class SheetController {

    @Autowired
    private SheetService sheetService;

    @RequestMapping("findAll")
    public List findAll(){
        return sheetService.findAllSheet();
    }

    @RequestMapping("addSheet")
    public void addSheet(String sheetName){
        sheetService.addSheet(sheetName);
    }
}
1.3 springmvc-config.xml

 


    

    

    
1.4 webapp下面WEB-INF中的web.xml



  Archetype Created Web Application
  
    contextConfigLocation
    classpath:applicationContext.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    dispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:springmvc-config.xml
    
  
  
    dispatcherServlet
    /
  

4、到这为止,后端的代码就over了 剩下的就是前端的,我这个是前后端分离的通过json数据进行传递的,如果有小伙伴想要源码或者哪里不了解的可以加群

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344799.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号