(本记录不为教程,不全面,只是记录自己开发进程而已)
更新了一下目录结构,考虑到了前后台分开结构,将目录划分为以下模块:
考虑到mybatis与后期会分页功能,application.yaml文件再加入如下配置:
mybatis:
mapper-locations: classpath:mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
再讲目录结构如下更新,定义5个大表的增删查改功能以及控制器::
接下来先将pojo具体代码写入:
User类:
package com.jhb.crash_music.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
//用户表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer user_id;//用户ID
private String user_name;//账号名
private String user_password;//账号密码
private String user_nickname;//昵称
private int user_sex;//性别
private int user_age;//年龄
// private List<Singer> user_likerList;//关注列表
// private List<User> user_fansList;//被关注列表
private String user_signature;//签名
// private List<Song> user_downloadList;//下载列表
private String user_imgUrl;//头像所属路径
public User(String user_name,String user_password,String user_nickname,int user_sex,int user_age,String user_signature,String user_imgUrl){
this.user_name = user_name;
this.user_password = user_password;
this.user_nickname = user_nickname;
this.user_sex = user_sex;
this.user_age = user_age;
this.user_signature = user_signature;
this.user_imgUrl = user_imgUrl;
}
}
Song类:
package com.jhb.crash_music.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
//歌曲表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Song {
private Integer song_id;//歌曲ID
private Integer song_singerId;//所属歌手ID
private Integer song_albumId;//所属专辑ID
private String song_name;//名称
private String song_lyrics;//歌曲歌词
private String song_mp3Url;//歌曲路径
// private List<Comment> song_commentList;//评论列表
private Long song_time;//歌曲时长
private int song_thumbsNum;//点赞数
private String song_classify;//歌曲分类
}
Singer类:
package com.jhb.crash_music.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
//歌手表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Singer {
private Integer singer_id;//歌手ID
private String singer_name;//姓名
private int singer_fansNum;//粉丝数
// private List<Song> singer_songsList;//歌曲列表
// private List<Album> singer_albumList;//专辑列表
private String singer_imgUrl;//头像URL
private String singer_introduction;//简介
private int singer_sex;//性别
private String singer_classify;//歌手分类
}
Comment类:
package com.jhb.crash_music.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
//评论表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Comment {
private Integer comment_id;//评论ID
private Integer comment_songId;//评论所属歌曲ID
private String comment_text;//评论正文
private Integer comment_userId;//评论所属用户ID
}
Album类:
package com.jhb.crash_music.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
//专辑类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Album {
private Integer album_id;//专辑ID
private Integer album_singerId;//专辑所属歌手ID
private String album_name;//名称
// private List<Album> album_songsList;//歌曲列表
}
接下来是定义增删查改功能的Service层:
UserService:
package com.jhb.crash_music.service;
import com.jhb.crash_music.pojo.User;
import java.util.List;
public interface UserService {
boolean addUser(User user);
boolean modUser(User user);
boolean delUser(int user_id);
List<User> findAllUser();
User findUserById(int user_id);
User findUserByUserName(String user_name);
}
UserServiceImpl:
package com.jhb.crash_music.service.impl;
import com.jhb.crash_music.mapper.UserMapper;
import com.jhb.crash_music.pojo.User;
import com.jhb.crash_music.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
@Override
public boolean addUser(User us