「这是我参与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的各种组件进行页面渲染。
上面的图,是这个项目的完整结构图。下一篇继续讲音乐系统的开发过程。