当前位置: 首页 > news >正文

【从0做项目】Java音缘心动(1)———项目介绍设计

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

零:项目结果展示

一:音乐播放器Web网页介绍

二:前期准备工作&项目设计

1:数据库设计

(1)喜欢的音乐——lovemusic

(2)普通存储的音乐——music

(3)用户信息——user

2:sql语句

3:后端开发使用SSM架构

(1)Spring

(2)SpringMVC

(3)Mybatis

4:应用分层

(1)Controller层

(2)Service层

(3)Mapper层

5:yml配置相关

零:项目结果展示

项目目前已经上线

音乐播放器登录页面铁子们可以后台私信获取管理员用户和密码

一:音乐播放器Web网页介绍

这个网页主要的功能包括:用户登录,上传音乐,播放音乐,收藏音乐到喜欢列表,从喜欢列表中移除音乐,删除指定音乐,批量删除音乐,

二:前期准备工作&项目设计

1:数据库设计

这里我们设计三个表

(1)喜欢的音乐——lovemusic

(2)普通存储的音乐——music

(3)用户信息——user

 

2:sql语句

-- 数据库
drop database if exists musicserver;
create database if not exists musicserver character set utf8;
-- 使⽤数据库
use musicserver;
-- 创建表user
DROP TABLE IF EXISTS user;
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
username varchar(20) NOT NULL,
password varchar(255) NOT NULL
);
INSERT INTO user(username,password)
VALUES("bit","$2a$10$Bs4wNEkledVlGZa6wSfX7eCSD7wRMO0eUwkJH0WyhXzKQJrnk85li");
-- 创建表music
DROP TABLE IF EXISTS music;
CREATE TABLE music (
id int PRIMARY KEY AUTO_INCREMENT,
title varchar(50) NOT NULL,
singer varchar(30) NOT NULL,
time varchar(13) NOT NULL,
url varchar(1000) NOT NULL,
userid int(11) NOT NULL
);
-- title字段为歌曲名称,url字段为歌曲的路径
-- 创建中间表lovemusic
DROP TABLE IF EXISTS lovemusic;
CREATE TABLE lovemusic (
id int PRIMARY KEY AUTO_INCREMENT,
user_id int(11) NOT NULL,
music_id int(11) NOT NULL
);

3:后端开发使用SSM架构

简单介绍一下SSM指Spring、SpringMVC、Mybatis

(1)Spring

Spring是现在主流的Java开发框架,Spring提供了很多开源项目,这些项目都是基于Spring Framework 开发的,但是这玩意配置多,难上手,Spring就搞了个SpringBoot,门槛低上手快,适合我这种小白~

(2)SpringMVC

MVC是一种思想,即视图,控制器,模型。

SpringMVC基于这种思想把Web开发前后端进行分离,前端干前端的活,后端干后端的活。即表现层,业务逻辑层,数据持久层

后端应用分层就为:控制层Controller,业务逻辑层Service,数据持久层Dao

(3)Mybatis

这是一个持久层框架,理解成我们高中学过的映射比较好。

这一层代码主要的工作就相当于一个桥梁,一个中间商,把我们后端的数据和数据库中的数据联系在一起

Java中主要实现方式是通过接口实现——映射方式有注解和XML的方式

注解的方式是Spring特有的,简化了代码。XML的方式是老的方式,虽然有点麻烦但并不过时,当使用一些update等语句的时候,XML就是神!!

4:应用分层

(1)Controller层

接收前端请求,以及返回响应

(2)Service层

数据处理层,负责具体的业务逻辑

(3)Mapper层

数据访问层,

其它的model实体,config配置,constant常量,interceptor拦截器,tools工具等包后续会详细介绍

5:yml配置相关

强调配置

servlet multipart max-file-size 指的是限制最大上传文件的大小不能超过15MB

max-request-size指的是HTTP请求体积最大不能超过100MB

spring:datasource:url: jdbc:mysql://127.0.0.1:3306/musicserver?characterEncoding=utf8&useSSL=falseusername: rootpassword: 613718longdriver-class-name: com.mysql.cj.jdbc.Driverservlet:multipart:max-file-size: 15MBmax-request-size: 100MBmvc:favicon:enable: false# 设置 Mybatis 的 xml 保存路径
mybatis:mapper-locations: classpath:mybatis/*Mapper.xmlconfiguration: # 配置打印 MyBatis 执行的 SQLlog-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true  #自动驼峰转换
# 配置打印 MyBatis 执行的 SQL
logging:file:name: logs/springboot.loglogback:rollingpolicy:max-file-size: 1KBfile-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%ilevel:com:example:demo: debug
music:local:path: "D:/music/"#debug: true

http://www.lryc.cn/news/540229.html

相关文章:

  • 智慧农业新生态 | 农业数字化服务平台——让土地生金,让服务无忧
  • C++编程,#include <iostream>详解,以及using namespace std;作用
  • jetbrains IDEA集成大语言模型
  • 理解都远正态分布中指数项的精度矩阵(协方差逆矩阵)
  • 使用 Spark NLP 实现中文实体抽取与关系提取
  • less-8 boolen盲注,时间盲注 函数补全
  • [NKU]C++基础课(五)补充:结构体
  • 亲测可用,IDEA中使用满血版DeepSeek R1!支持深度思考!免费!免配置!
  • springcloud整合seata
  • Html5学习教程,从入门到精通,HTML5 简介语法知识点及案例代码(1)
  • Django加bootstrap实现上传文件含有进度条
  • 八大排序算法(2)交换排序-冒泡排序 和 快速排序
  • Python的那些事第二十三篇:Express(Node.js)与 Python:一场跨语言的浪漫邂逅
  • STM32MP157A单片机移植Linux驱动
  • Qt程序退出相关资源释放问题
  • 【大学生职业规划大赛备赛PPT资料PDF | 免费共享】
  • win32汇编环境,对话框中使用菜单示例一
  • AutoDock CrankPep or ADCP进行蛋白质多肽对接
  • 高压直流熔断器研究
  • 微信小程序(uni)+蓝牙连接+Xprint打印机实现打印功能
  • 使用 Docker 部署 Flask 应用
  • 深入浅出GraphQL:现代API设计的未来
  • 深入理解Zookeeper:分布式系统的协调者
  • python绘图之回归拟合图
  • C语言学习笔记(第二部份)
  • jQuery UI CSS 框架 API
  • Redis7——基础篇(六)
  • Windows网络安全基础
  • spring boot知识点4
  • 【大模型系列篇】DeepSeek-R1如何通过强化学习有效提升大型语言模型的推理能力?