2022首次更文挑战第2天 | 搭建基于SSM的音乐系统教程01创建实体类建表与项目构建

366 阅读3分钟

「这是我参与2022首次更文挑战的第2天,活动详情查看:2022首次更文挑战

该音乐系统采用的技术栈主要有:
Spring+Spring mvc+Mybatis+Jquery+Video js+JSP+JSTL+EasyUI
数据库是:Mysql
开发软件和环境:开发环境:
Jdk7(8)+Tomcat7(8)+Mysql+IntelliJ IDEA(Eclipse)+Maven
工欲善其事,必先利其器,把基本的环境搭建起来,就可以敲代码了。

一、实体类

1、用户实体类(主键id,用户名,密码,邮箱,电话号码,地址,)

public class Users {
    private Integer id;

    private String name;

    private String password;

    private String email;

    private String phone;

    private String address;
	// getter,setter方法
}

2、歌曲列表实体类(主键id,歌曲列表名称,创建时间,是否删除)

public class Mlist {
    private Integer id;

    private String name;

    private Date createdate;

    private String isdelete;
    // getter,setter方法
}

3、歌曲实体类(主键id,歌曲名称,歌曲类型,歌曲url,界面图片,创建日期,是否删除,播放次数,歌手id)

public class Music {
    private Integer id;

    private String name;

    private String type;

    private String url;

    private String cover;

    private Date createdate;

    private String isdelete;

    private Integer playcount;

    private Integer singerid;
     // getter,setter方法
}

4、歌手实体类(主键id,歌手名称,是否删除,创建日期)

public class Singer {
    private Integer id;

    private String name;

    private Boolean deleted;

    private Date createdate;
    // getter,setter方法
}

目前设计这几个简单实体类,先做一些简单功能,后续再慢慢拓展

二、表设计

1、歌曲列表sql

CREATE TABLE `mlist` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '歌单编号',
  `name` varchar(255) DEFAULT NULL COMMENT '歌单名称',
  `createdate` datetime DEFAULT NULL COMMENT '创建时间',
  `isdelete` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

2、歌曲sql

CREATE TABLE `music` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '歌曲编号',
  `name` varchar(255) DEFAULT NULL COMMENT '歌曲名称',
  `type` varchar(255) DEFAULT NULL COMMENT '所属歌单',
  `url` varchar(255) DEFAULT NULL COMMENT '歌曲地址',
  `cover` varchar(255) DEFAULT NULL,
  `createdate` datetime DEFAULT NULL COMMENT '创建时间',
  `isdelete` varchar(255) DEFAULT NULL,
  `playCount` int(11) DEFAULT '0',
  `singerid` int(11) DEFAULT NULL COMMENT '歌手ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

3、用户sql

CREATE TABLE `t_role` (
  `roleId` int(11) NOT NULL AUTO_INCREMENT,
  `roleName` varchar(20) DEFAULT NULL,
  `authIds` varchar(500) DEFAULT NULL,
  `roleDescription` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`roleId`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

4、歌手sql

CREATE TABLE `t_singer` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL COMMENT '名称',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已删除',
  `createdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COMMENT='歌手表';

三、项目结构图

1、采用mvc模式,最简单的要有实体类bean包(也可以是model包,entity包,名字各不相同,但是实际含义是一样的,都是用作实体类)。
2、接着要有repo层(也叫dao层,跟数据库打交道的,里面主要写sql语句,增删改查)。
3、往上一层,是service层,可以定义接口,再定义个实现类去实现service接口。也可以单独一块service类。这个service层,主要是实现业务的,做一些具体的操作,拿简单的例子来说,就是增删改查代码,文件上传下载,导入导出功能等等。
4、再往上,就是controller层了,这个是接口,api接口,控制类,前端发送请求,由这个控制类接收。
5、还可以定义一些util工具类,这个可以是处理时间的,处理字符串等等的工具类,也可以是公共方法。
mvc的处理过程是:controller层->service层->dao层
项目后台采用Spring+Spring mvc+Mybatis框架,前端用到了jQuery,ajax技术,EasyUI框架。网站前台展示用JSP作为数据模板的渲染引擎。
在Controller层通过返回ModelAndView和一些数据列表,再由JSTL标签进行循环遍历。
后台因为使用了EasyUI框架,所以基本是和java后台进行异步操作交互,通过easyUI的各种组件进行页面渲染。
在这里插入图片描述

上面的图,是这个项目的完整结构图。下一篇继续讲音乐系统的开发过程。