当前位置: 首页 > 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=false
    username: root
    password: 613718long
    driver-class-name: com.mysql.cj.jdbc.Driver
  servlet:
    multipart:
      max-file-size: 15MB
      max-request-size: 100MB
  mvc:
    favicon:
      enable: false

# 设置 Mybatis 的 xml 保存路径
mybatis:
  mapper-locations: classpath:mybatis/*Mapper.xml
  configuration: # 配置打印 MyBatis 执行的 SQL
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true  #自动驼峰转换
# 配置打印 MyBatis 执行的 SQL
logging:
  file:
    name: logs/springboot.log
  logback:
    rollingpolicy:
      max-file-size: 1KB
      file-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i
  level:
    com:
      example:
        demo: debug
music:
  local:
    path: "D:/music/"

#debug: true

相关文章:

  • 哔哩哔哩做视频网站seo sem推广
  • 贸易公司注册需要什么条件排名seo怎么样
  • 网站管理员权限怎么设置seo描述快速排名
  • 网站开发技术考题电子商务网站推广策略
  • 电子商务网站策划书3000字天津seo优化
  • 邢台做网站建设公司哪家好?石家庄关键词优化平台
  • 知识库-查看知识详情接口
  • 请谈谈 Vue 中的响应式原理,如何实现?
  • Qt常用控件之标签QLabel
  • 【Content-Type详解、Postman中binary格式、json格式数据转原始二进制流等】
  • 避免踩雷!CUDA与Anaconda兼容性配置完全手册
  • 实验六 时序逻辑电路设计实验(设计分析)
  • ARM SOC 架构系统M系、R系、A系
  • 【前端小点】vue3项目内根据主题读取不同文件夹下的图片资源(图片文件)
  • 重磅来袭————YOLOv12:Attention-Centric Real-Time Object Detectors
  • AIGC视频生成明星——Emu Video模型
  • 5-循环语句
  • 【Linux-网络】初识计算机网络 Socket套接字 TCP/UDP协议(包含Socket编程实战)
  • 推荐系统-排序模型
  • 力扣-回溯-17 电话号码的字母组合
  • C++ 课程设计 汇总(含源码)
  • B+树作为数据库索引结构的优势对比
  • HC32F460_GPIO驱动库
  • 阿里云SLB负载均衡的ALB和NLB有啥区别?一个是7层一个是4层
  • Redis中哈希(Hash)常见命令详解
  • 快速入门Springboot+vue——MybatisPlus多表查询及分页查询