Java基础入门day64
day64
web项目
数据库设计
在小米商城主页,主要的内容是多种商品类型的展示,分别有手机,智能穿戴,笔记本平板,家电,生活电器,厨房电器,智能家具等大的七个分类,根据这个设计我们可以分析一张商品类型表
create database mi DEFAULT CHARACTER SET utf8; use mi; create table types(tid int primary key auto_increment,tname varchar(20) not null unique,tdesc varchar(20) ); insert into types values(null, '手机', '手机描述'); insert into types values(null, '智能穿戴', '智能穿戴描述'); insert into types values(null, '笔记本平板', '笔记本平板描述'); insert into types values(null, '家电', '家电描述'); insert into types values(null, '生活电器', '生活电器描述'); insert into types values(null, '厨房电器', '厨房电器描述'); insert into types values(null, '智能家具', '智能家具描述');在手机分类页面中,点开手机详情,可以得出手机数据字段的信息,有标题,二级标题,描述,手机与类型的关联字段tid
create table cellphone(cid int primary key auto_increment,title varchar(20) not null,subtitle varchar(20) not null, wtype varchar(20),img varchar(50),cdesc varchar(50), oprice double,nprice double,tid int ); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10','小米10青春版','小米','img/cellphone/1.jpg','小米10青春版',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('Xiaomi 14 Ultra','Xiaomi 14 Ultra','小米自营','img/cellphone/2.jpg','徕卡光学 Summilux 镜头,第三代骁龙®8移动平台',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10 Pro','小米10 Pro','小米自营','img/cellphone/3.jpg','【直播间购机加赠多彩腕带保护壳】性能旋风,席卷而来',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10 Pro','小米10 Pro','小米自营','img/cellphone/4.jpg','骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10 Pro','小米10 Pro','小米自营','img/cellphone/5.jpg','骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10 Pro','小米10 Pro','小米自营','img/cellphone/6.jpg','骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10 Pro','小米10 Pro','小米自营','img/cellphone/7.jpg','骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10 Pro','小米10 Pro','小米自营','img/cellphone/8.jpg','骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10 Pro','小米10 Pro','小米自营','img/cellphone/9.jpg','骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁',5999,4999,1); insert into cellphone(title,subtitle,wtype,img,cdesc,oprice,nprice,tid) values('小米10 Pro','小米10 Pro','小米自营','img/cellphone/10.jpg','骁龙845处理器,AI变焦双摄,红外人脸解锁,AI变焦双摄,红外人脸解锁',5999,4999,1);手机还有图片,关于图片,更好的设计是新增一张图片表,其中有一个字段与手机的cid关联
create table img(iid int primary key auto_increment,name varchar(20) not null,idesc varchar(20),cid int ); insert into img values(null,'1.jpg','xiaomi 10',1); insert into img values(null,'2.jpg','xiaomi 10',1); insert into img values(null,'3.jpg','xiaomi 10',1); insert into img values(null,'4.jpg','Xiaomi 14 Ultra',2); insert into img values(null,'5.jpg','Xiaomi 14 Ultra',2); insert into img values(null,'6.jpg','Xiaomi 14 Ultra',2); insert into img values(null,'7.jpg','Xiaomi 14 Pro',3); insert into img values(null,'8.jpg','Xiaomi 14 Pro',3); insert into img values(null,'9.jpg','Xiaomi 14 Pro',3); insert into img values(null,'10.jpg','Xiaomi 14',4); insert into img values(null,'11.jpg','Xiaomi 14',4); insert into img values(null,'12.jpg','Xiaomi 14',4); insert into img values(null,'13.jpg','Xiaomi 14',4); insert into img values(null,'14.jpg','Xiaomi 14',4); insert into img values(null,'15.jpg','Xiaomi 14',5);手机还有对应的规格表,ram和rom
create table ram(raid int primary key auto_increment,ram varchar(10),rdesc varchar(20),cid int ); insert into ram(ram,rdesc,cid) values('4G','4G内存',1); insert into ram(ram,rdesc,cid) values('8G','8G内存',1); insert into ram(ram,rdesc,cid) values('16G','16G内存',1); insert into ram(ram,rdesc,cid) values('32G','32G内存',1); insert into ram(ram,rdesc,cid) values('32G','32G内存',2); insert into ram(ram,rdesc,cid) values('64G','64G内存',2); insert into ram(ram,rdesc,cid) values('4G','4G内存',3); insert into ram(ram,rdesc,cid) values('8G','8G内存',3); insert into ram(ram,rdesc,cid) values('12G','12G内存',3); insert into ram(ram,rdesc,cid) values('16G','16G内存',3); create table rom(roid int primary key auto_increment,rom varchar(10),rdesc varchar(20),cid int ); insert into rom(rom,rdesc,cid) values('128GB','128GB存储',1); insert into rom(rom,rdesc,cid) values('256GB','256GB存储',1); insert into rom(rom,rdesc,cid) values('128GB','128GB存储',2); insert into rom(rom,rdesc,cid) values('256GB','256GB存储',2); insert into rom(rom,rdesc,cid) values('128GB','128GB存储',3); insert into rom(rom,rdesc,cid) values('256GB','256GB存储',3); insert into rom(rom,rdesc,cid) values('1T','1T存储',3); insert into rom(rom,rdesc,cid) values('256GB','256GB存储',4);手机还有颜色表
create table colors(coid int primary key auto_increment,coname varchar(20) not null,codesc varchar(20),cid int ); insert into colors(coname,codesc,cid) values('镜瓷白','镜瓷白描述',1); insert into colors(coname,codesc,cid) values('镜瓷灰','镜瓷灰描述',1); insert into colors(coname,codesc,cid) values('墨晶','镜瓷黑描述',1); insert into colors(coname,codesc,cid) values('龙晶蓝','龙晶蓝描述',2); insert into colors(coname,codesc,cid) values('龙晶白','龙晶白描述',2); insert into colors(coname,codesc,cid) values('墨晶','墨晶灰描述',2); insert into colors(coname,codesc,cid) values('镜晶','镜晶灰描述',3); insert into colors(coname,codesc,cid) values('冰钛','冰钛描述',3); insert into colors(coname,codesc,cid) values('冰钛','冰钛描述',4);目前只是设计了关于手机表的详细表结构设计,如果还有其他几大类的具体设计,也可以参考手机表的相关设计
相关文章:
Java基础入门day64
day64 web项目 数据库设计 在小米商城主页,主要的内容是多种商品类型的展示,分别有手机,智能穿戴,笔记本平板,家电,生活电器,厨房电器,智能家具等大的七个分类,根据这个…...
高德地图轨迹回放/轨迹播放
前言 本篇文章主要介绍高德地图的轨迹回放或播放的实现过程,是基于vue2实现的功能,同时做一些改动也是能够适配vue3的。其中播放条是用的是element UI中的el-slider组件,包括使用到的图标也是element UI自带的。可以实现轨迹的播放、暂停、停…...
像素、像素密度、位图和矢量图
像素、像素密度、位图和矢量图 像素 -- 图像元素pt分辨率ppidpi 点阵图 - bitmap常见的类型 矢量图点阵图 vs 矢量图参考小结 像素、矢量图等概念在前端开发中经常遇到,这里做一个简单的梳理。 像素 – 图像元素 做前端开发的经常遇到它。像素是图像的最小单位&am…...
第二证券股市资讯:昨夜!全球新“股王”诞生
昨晚,英伟达成全球市值榜首公司。 当地时间6月18日,美股三大指数小幅收高,标普500指数与纳指再创前史新高。标普500指数涨0.25%,道指涨0.15%,纳指涨0.03%。 AI热潮推动英伟达大涨,市值逾越微软、苹果&…...
自动水位雨量站:用于水库防汛预警
TH-SW2自动水位雨量站是一种现代化的监测设备,主要用于水库等水域的防汛预警系统。它通过集成水位和雨量监测功能,为水库的管理和调度提供实时、准确的数据支持。 工作原理: 自动水位雨量站通过内置的水位计和雨量计实时监测水库的水位变化和…...
苍穹外卖---新增员工(P16-P20)
一、需求分析和设计 (1)产品原型 一般在做需求分析时,往往都是对照着产品原型进行分析,因为产品原型比较直观,便于我们理解业务。后台系统中可以管理员工信息,通过新增员工来添加后台系统用户。 新增员工…...
Windows10 利用QT搭建SOEM开发环境
文章目录 一. SOEM库简介二. 安装WinPcap三. SOEM(1.4)库安装(1) 编译32位库(2) 编译64位库 四. 运行SOEM示例代码五. WIN10下利用QT构建SOEM开发环境 一. SOEM库简介 SOEM(Scalable Open EtherCAT Master 或 Simple Open EtherCAT Master)是一个开源的…...
SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件二(补充)
SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件二(补充) 如果你想在cmd命令窗口内看到程序运行,即点开弹出运行窗口,关闭时exe自动关闭。 需要再launch4j上进行如下操作: 这样转换好的exe就可以有控制台了…...
【kyuubi k8s】kyuubi发布k8s执行spark sql
背景 依据上一篇kyuubi与spark集成,并发布spark sql到k8s集群,上一篇的将kyuubi和spark环境放在本地某台服务器上的,为了高可用,本篇将其打包镜像,并发布到k8s。 其实就是将本地的kyuubi,spark࿰…...
机械装配革新者:3D工艺大师智慧赋能,装配无忧
机械装配,简而言之,就是将各个零件和部件按照严格的技术要求组装起来,使之成为完整且符合标准的机械产品。这一过程不仅要求技术操作的精确性,更强调每个零件之间的完美配合,以确保产品的最终质量和性能达到最优。 常规…...
【C++】const和函数参数
一、const 在 C 中,const 关键字用于定义常量。将 const 关键字放在指针的不同位置,其含义也不同。 1、指向常量的指针 const int* ptr; ptr 是一个指向 const int 的指针,ptr 所指向的值不能通过 ptr 修改,但指针本身可以改变…...
2024zjb
单选331/600 下列不属于常用反爬虫手段动是() A访问频度 B验证码校验 C账号权限 D人工筛 题目答案 正确答案:D 330/600 下列不属于聚焦网络爬虫动常用策略动是 A基于深度优先动爬取策略 B基于内容评价动爬取策略 C基于链接结构评价动爬取策略 D基于语境图动爬取策略 题目答案…...
线程池的艺术:深度解析Java多线程并发性能的优化之道
1. 引言 在高并发的Java应用开发中,线程池作为管理和复用线程资源的核心机制,扮演着举足轻重的角色。合理、高效地使用线程池不仅能减少资源消耗、提高系统响应速度,还能有效控制并发线程数量,保证系统的稳定性和性能。 2. 线程池的基本概念与优势 线程池是一种管理和复用…...
Ubuntu server 24 (Linux) 新增磁盘 lvm 动态扩容磁盘空间
1 新增一块硬盘 #查看 sudo fdisk -l #重新分区,转换成lvm类型 sudo fdisk /dev/sdb 2 查看磁盘 df -h3 lvm 配置 #查看lvm逻辑卷 sudo lvdisplay #创建物理卷 sudo pvcreate /dev/sdb1 #扩展卷组 sudo vgextend ubuntu-vg /dev/sdb1 #扩展逻辑卷 sudo lvexte…...
Linux C编译器从零开发三
AST语法树 BNF抽象 expr equality equality relational ("" relational | "!" relational)* relational add ("<" add | "<" add | ">" add | ">" add)* add mul ("" …...
02-ES6新语法
1. ES6 Proxy与Reflect 1.1 概述 Proxy 与 Reflect 是 ES6 为了操作对象引入的 API 。 Proxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,…...
Vue3中VueRouter基本用法及与Vue2中路由使用差异解析
Vue Router 在 Vue3 中被重写,使用了 Vue3 的 Composition API。使用上跟Vue2 相比有些不同,需要注意。 首先,让我们来看一下 Vue3 中 VueRouter 的基本使用方法: 安装 Vue Router: npm install vue-routernext创建…...
10.Docker Compose容器编排
文章目录 Compose简介安装和卸载步骤核心概念compose文件两要素 使用步骤Compose常用命令微服务测试本地编码打包编写Dockerfile文件构建镜像 不使用Compose调试使用Compose调试WordPress测试验证增量更新 Compose简介 docker建议我们每一个容器中只运行一个服务,因为docke…...
【算法——动态规划(从dfs回溯开始推导dp)】
基础理论 递归: 递:大问题分解子问题的过程 ; 归:产生答案 dp:只进行归;用已知的最底层的(递归的边界,搜索树的底),推出未知 《视频索引》 一句话&…...
不是所有洗碗机都能空气除菌 友嘉灵晶空气除菌洗碗机评测
精致的三餐让你以为生活是“享受”,可饭后那些油腻的锅碗瓢盆却成了你我美好生活的最大障碍。想要只吃美食不洗碗,那一台优秀的洗碗机就必不可少了!今天,ZOL中关村在线要评测的就是这样一台不光洗得干净更能有效除菌抑菌的洗碗机—…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
网页端 js 读取发票里的二维码信息(图片和PDF格式)
起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的ÿ…...
spring boot使用HttpServletResponse实现sse后端流式输出消息
1.以前只是看过SSE的相关文章,没有具体实践,这次接入AI大模型使用到了流式输出,涉及到给前端流式返回,所以记录一下。 2.resp要设置为text/event-stream resp.setContentType("text/event-stream"); resp.setCharacter…...
