跟老紫竹学Java-图书销售系统-数据库结构

 
/*
MySQL Data Transfer
Source Host: localhost
Source Database: book
Target Host: localhost
Target Database: book
Date: 2008-7-25 13:55:48
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for t_book
-- ----------------------------
CREATE TABLE `t_book` (
  `id` int(11) NOT NULL auto_increment COMMENT '流水号',
  `name` varchar(100) collate utf8_unicode_ci NOT NULL COMMENT '书名',
  `price` decimal(10,2) NOT NULL COMMENT '价格',
  `quantity` int(11) NOT NULL COMMENT '数量',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Table structure for t_bookstockhistory
-- ----------------------------
CREATE TABLE `t_bookstockhistory` (
  `id` int(11) NOT NULL auto_increment COMMENT '流水号',
  `bookId` int(11) NOT NULL COMMENT '图书编号',
  `quantity` int(11) NOT NULL COMMENT '数量',
  `quantityOutstanding` int(11) NOT NULL COMMENT '数量结存',
  `price` decimal(10,2) NOT NULL COMMENT '价格',
  `datetime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT '时间',
  `note` varchar(255) collate utf8_unicode_ci default NULL COMMENT '备注',
  PRIMARY KEY  (`id`),
  KEY `bookId` (`bookId`),
  CONSTRAINT `t_bookstockhistory_ibfk_1` FOREIGN KEY (`bookId`) REFERENCES `t_book` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Table structure for t_order
-- ----------------------------
CREATE TABLE `t_order` (
  `id` int(11) NOT NULL auto_increment COMMENT '流水号',
  `UserId` int(11) NOT NULL COMMENT '会员编号',
  `Amount` decimal(10,0) NOT NULL COMMENT '总金额',
  `Datetime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT '时间',
  `Note` varchar(200) collate utf8_unicode_ci default NULL COMMENT '备注',
  PRIMARY KEY  (`id`),
  KEY `UserId` (`UserId`),
  CONSTRAINT `t_order_ibfk_1` FOREIGN KEY (`UserId`) REFERENCES `t_user` (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Table structure for t_orderbook
-- ----------------------------
CREATE TABLE `t_orderbook` (
  `Id` int(11) NOT NULL auto_increment COMMENT '流水号',
  `OrderId` int(11) NOT NULL COMMENT '订单号',
  `BookId` int(11) NOT NULL COMMENT '图书编号',
  `Quantity` int(11) NOT NULL COMMENT '数量',
  PRIMARY KEY  (`Id`),
  KEY `OrderId` (`OrderId`),
  KEY `BookId` (`BookId`),
  CONSTRAINT `t_orderbook_ibfk_1` FOREIGN KEY (`OrderId`) REFERENCES `t_order` (`id`),
  CONSTRAINT `t_orderbook_ibfk_2` FOREIGN KEY (`BookId`) REFERENCES `t_book` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Table structure for t_user
-- ----------------------------
CREATE TABLE `t_user` (
  `Id` int(11) NOT NULL auto_increment COMMENT '流水号',
  `username` varchar(20) collate utf8_unicode_ci NOT NULL COMMENT '用户名',
  `password` varchar(50) collate utf8_unicode_ci NOT NULL COMMENT '密码',
  PRIMARY KEY  (`Id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `t_book` VALUES ('1', 'Java基础12', '25.01', '0');
INSERT INTO `t_book` VALUES ('2', 'Java高级编程', '89.23', '2');
INSERT INTO `t_book` VALUES ('3', '跟老紫竹学Java', '50.45', '3');
INSERT INTO `t_book` VALUES ('4', 'Java大全', '111.00', '4');
INSERT INTO `t_bookstockhistory` VALUES ('1', '3', '1', '1', '50.45', '2008-07-25 12:27:21', null);
INSERT INTO `t_bookstockhistory` VALUES ('2', '2', '1', '99', '89.23', '2008-07-25 12:29:18', null);
INSERT INTO `t_bookstockhistory` VALUES ('3', '3', '1', '0', '50.45', '2008-07-25 12:29:18', null);
INSERT INTO `t_bookstockhistory` VALUES ('4', '1', '1', '0', '25.01', '2008-07-25 13:32:24', '会员购买');
INSERT INTO `t_order` VALUES ('7', '2', '2238', '2008-07-25 11:33:27', null);
INSERT INTO `t_order` VALUES ('8', '2', '165', '2008-07-25 11:52:38', null);
INSERT INTO `t_order` VALUES ('9', '2', '25', '2008-07-25 11:58:51', null);
INSERT INTO `t_order` VALUES ('10', '2', '25', '2008-07-25 12:00:00', null);
INSERT INTO `t_order` VALUES ('11', '2', '140', '2008-07-25 12:29:18', null);
INSERT INTO `t_order` VALUES ('12', '1', '25', '2008-07-25 13:32:24', null);
INSERT INTO `t_orderbook` VALUES ('5', '7', '1', '11');
INSERT INTO `t_orderbook` VALUES ('6', '7', '2', '22');
INSERT INTO `t_orderbook` VALUES ('7', '8', '1', '1');
INSERT INTO `t_orderbook` VALUES ('8', '8', '2', '1');
INSERT INTO `t_orderbook` VALUES ('9', '8', '3', '1');
INSERT INTO `t_orderbook` VALUES ('10', '9', '1', '1');
INSERT INTO `t_orderbook` VALUES ('11', '10', '1', '1');
INSERT INTO `t_orderbook` VALUES ('12', '11', '2', '1');
INSERT INTO `t_orderbook` VALUES ('13', '11', '3', '1');
INSERT INTO `t_orderbook` VALUES ('14', '12', '1', '1');
INSERT INTO `t_user` VALUES ('1', 'admin', 'admin');
INSERT INTO `t_user` VALUES ('2', 'user', 'user');
INSERT INTO `t_user` VALUES ('3', 'test', 'test');





<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
汉书HE8,好用的汇编代码编写工具 汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大 立即下载

相关推荐

JaCoCo报告聚合的5个常见坑点排查指南:从单模块到多模块的完整避坑手册

本文详细解析了JaCoCo在多模块Maven项目中生成聚合报告时的5个常见问题,包括多模块报告聚合失效、覆盖率数据不一致、增量构建导致的覆盖率丢失等,并提供了具体的配置示例和解决方案。帮助开发者高效排查和解决JaCoCo报告聚合中的各种疑难杂症,提升代码覆盖率分析的准确性和效率。

weixin_27918373的博客 250

java数据库图书销售系统_跟老紫竹学Java-图书销售系统-数据库结构

/*MySQL Data TransferSource Host: localhostSource Database: bookTarget Host: localhostTarget Database: bookDate: 2008-7-25 13:55:48*/SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table st...

weixin_31951319的博客 220

STM32新手必看:3分钟搞定ST官网资料下载(附F0系列手册+外设库下载技巧)

本文为STM32开发新手提供高效获取ST官网技术资料的完整指南,重点介绍如何快速下载STM32F0系列数据手册和外设库。通过系统性的资源分类解析和实用下载技巧,帮助开发者快速定位所需文档,建立本地知识库,提升开发效率。

ujm5678901的博客 270

跟老紫竹学Java-图书销售系统

原文地址:http://www.java2000.net/f398博客链接如下跟老紫竹学Java-图书销售系统-项目下载跟老紫竹学Java-图书销售系统-POJO类跟老紫竹学Java-图书销售系统-辅助类和配置文件跟老紫竹学Java-图书销售系统-数据库结构跟老紫竹学Java-图书销售系统-服务接口和实现跟老紫竹学Java-图书销售系统-主页,注册,登录,退出登录等常规页面跟老紫竹学Java-图书

老紫竹的专栏 4920

获取B站某用户更多的关注数和粉丝数

获取B站某用户更多的关注数和粉丝数 相关记录 一、 前言 B 站最多只能翻 5 页用户的关注数和粉丝数,如何能够看到更多呢。 方法我也是从网上翻来的,记载博客里,算是我研究过这个话题了。 二、需要的东西 关注数的 api https://api.bilibili.com/x/relation/followings?vmid=2884629&pn=1&ps=20&order=desc&jsonp=jsonp 关注者(粉丝)的 api https://api.bilibili.

Enderman_xiaohei的博客 4825

步进电机选型避雷手册:为什么你的42HS电机总丢步?从相数、电流到散热全面拆解

本文深入剖析了42HS步进电机在高速或重载下易出现丢步问题的根本原因。文章指出,选型时不应仅关注静态保持转矩,而需重点分析动态矩频曲线、合理匹配驱动器电流与细分数、进行准确的机械传动惯量计算,并有效管理系统共振与散热。通过全面拆解这些关键因素,为工程师提供了实用的选型避雷指南与系统优化方案。

weixin_29275257的博客 97

【数据结构-5】单链表的实现

单链表,具体来说是单向的、不带头的、不循环的链表。链表由一个一个节点组成,每个节点分为数据域和指针域,数据域存放数据,指针域存放下一节点的地址。这样,就可以根据指针域中的地址找到下一个节点,节点就串起来了构成了单链表。

a bit 215

Python实现支付宝转账接口

由于工作需要使用python开发一个自动转账接口,记录一下开发过程。 首先需要在蚂蚁金服上申请开通开发者账户,有了开发者账户就可以使用沙箱进行开发了。 在开发之前我们需要在沙箱应用中填写密钥,密钥的获取可以使用阿里提供的工具包自动生成。 前期准备工作完成了,接下来是编写代码部分。主要用到了python-alipay-sdk库,使用pip安装即可,如果安装的过程中遇到问题推荐使用Anaconda...

FanMLei的博客 8516

C# 数据结构和特殊类型

.NET Core(现称.NET)提供丰富数据结构,优化性能与开发效率。日常开发首选List<T>和Dictionary<TKey,TValue>;高性能场景推荐Span<T>与Memory<T>减少内存分配;并发环境使用ConcurrentDictionary等线程安全集合;避免非泛型集合如ArrayList。

cccloveforever的博客 746

从LLM到Agent:智能体核心范式与认知架构全景解读

摘要: Agent技术正成为AI领域的新焦点,其核心在于通过外部认知基础设施(如记忆、工具、协议等)将大语言模型(LLM)从“生成文本”升级为“执行任务”的智能体。2026年的研究显示,Agent能力提升的关键已从模型本身转向外部化架构,如Harness工程(执行框架)和认知解耦(如ORCA框架)。当前Agent框架生态呈现多元化竞争(如LangGraph、AutoGen、CrewAI),但可观测性与治理仍是薄弱环节。未来竞争壁垒将取决于外部基础设施的完善程度,而非单纯模型性能。

2601_95807009的博客 54

18. 从 SAP Fiori Elements List Report 中的图片显示,谈谈背后的 XML Template 设计机制

至此,Fiori Elements List Report 这个模版里,图片显示的原理,笔者已经从开发人员层面需要定义的注解,和 Fiori Elements 框架层面如何解析这些注解,这两方面做了深入介绍。从本文开始,我们从 Fiori Elements 预制的标准 XML Template 模版的设计,来介绍我们在最终 Fiori Elements 页面看到的产品图标,是如何渲染出来的。但是,List Report 里产品的图标显示,到底是上面这些 XML 文件里的哪一个里定义的呢?

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 607

pandas 深度入门:从数据结构到一份真实销售报表

本文系统讲解Pandas核心应用,从三分钟安装到完整月度报表生成,涵盖数据读取、清洗、筛选、分组聚合、表连接、透视表与时间序列等13个关键环节。强调“先看数据再动手”,掌握Series/DataFrame/Index结构本质,熟练运用loc/iloc、merge校验、agg/transform区别,通过真实案例实现高效报表自动化,告别手动Excel操作。最后提供性能优化与高频报错解决方案,助力读者快速上手,真正实现“写二十行代码,跑三秒出结果”。

信息安全领域优质创作者|操作系统领域专家 313

ubuntu20 安装px4、mavros、QGroundControl

首先安装一下ant,否则没法运行,同时因20.04的缺少动态库libawt_xawt.so无法被Java8给调用,我的解决办法是去18.04把18.04的相同路径下的动态库libawt_xawt.so移动到20.04的/usr/lib/jvm/java-11-openjdk-amd64/lib/路径中。用rosdepc的时候,你得确保你用的是鱼香ROS的提供的ROS安装方法,否则是没有rosdepc的。make px4_sitl gazebo之前,可以安装一下gazebo的 模型。二、安装MAVROS。

qq_58060770的博客 3349

Re:Mysql数据库基础篇(十一):索引的常见操作、聚簇与非聚簇索引、为什么其他数据结构不能作为索引的底层结构

本文深入解析MySQL索引底层原理,对比链表、二叉树、B树等数据结构的局限性,阐明InnoDB选用B+树的原因:节点仅存键值与指针,叶节点相连,支持高效范围查询。进一步区分聚簇索引(InnoDB)与非聚簇索引(MyISAM),揭示回表查询机制及空间优化逻辑。最后系统介绍主键、唯一、普通及全文索引的创建方式与特点,全面梳理索引应用实践。

小此方的博客 209

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

数据结构的基本概念和算法的初步认识

本文系统阐述数据结构与算法的基础概念,涵盖数据、数据元素、数据对象的层次关系,数据结构的三要素(逻辑结构、存储结构、数据运算),以及抽象数据类型。重点解析算法的特性与设计要求,并深入讲解时间复杂度分析的核心——大O表示法,通过“只保留最高阶项、忽略常数系数、取最坏情况”三大原则,结合实例剖析O(1)、O(n)等常见时间复杂度,揭示算法效率的本质评估方法。

ACH_YYX的博客 204

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【数据结构】堆(Heap):堆的实现、建堆与堆排序

堆是一种特殊的完全二叉树,分为大堆(父节点≥孩子)和小堆(父节点≤孩子),可快速获取最值。堆通常用数组存储,通过下标计算父子关系。核心操作为向上调整(插入时)和向下调整(删除或建堆时),时间复杂度均为O(log N)。建堆可采用从后往前的向下调整法,整体复杂度为O(N)。基于堆的堆排序通过反复提取最大值实现升序排列,总时间复杂度为O(N log N),空间复杂度O(1),是高效稳定的排序算法。

2501_93577780的博客 378

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C++ 数据结构与面向对象:二叉搜索树实现与多态虚函数详解

本文系统讲解二叉搜索树(BST)的迭代实现与C++多态及虚函数底层原理。BST通过非递归方式实现插入、查找、删除,核心在于维护有序性,删除分三种情况处理,替换法为关键技巧。多态基于虚函数表(vtable)与虚函数指针(vfptr),通过基类指针调用重写函数实现运行时动态绑定,需满足继承与虚函数重写条件。抽象类强制接口规范,虚函数表存储函数地址,子类继承或覆盖对应项。二者分别体现数据结构高效性与面向对象灵活性,是C++核心知识点。

2603_95129722的博客 210

Redis 数据结构、单线程架构与 String 字符串详解

Redis采用单线程架构,通过事件循环(Event Loop)高效处理I/O事件,避免阻塞。其核心优势在于内存操作快、无上下文切换开销。数据结构支持多种内部编码(如ziplist、quicklist),自动根据场景优化存储与性能。字符串类型是基础且灵活,可存文本、数字或二进制数据,最大512MB,支持原子操作。命令如SET、GET、MGET、MSET等实现高效读写,适用于缓存、计数、会话管理等场景。

2303_77004089的博客 371

笔记-论数据结构3(算法分析-时间复杂度)

i <= n;s = 0;次数1234ti1248?i2^02^12^22^32^t-1在遍历的过程中,2^t-1次方的增长率肯定大于n,可得出结论2^t-1 > n那么,为了得出t和n的关系,我们可以运用对数关系:log2为底2^t-1 > log2为底n消掉log2为底2t-1 > log2为底nt > log2为底n+1于是可以得出。

fish_zzzz的博客 239

J1939 DM1 报文数据结构详解:单帧、BAM、CMDT 逐字节拆解与 DTC 跨包问题

1. 一条报文,两套字节结构 DM1 装的是灯具状态加一串 DTC,而串的长度决定哪一种字节结构上线。 8 字节以内是一帧 :两个灯具字节,之后每 DTC 四字节,末尾补齐。超过 8 字节就变成 的一帧 TP.CM 声明

废柴程序员-熊熊的博客 125

数据结构:二叉树,递归转迭代

二叉树的先序遍历,不需要额外信息保存,因为不用返回到父节点,因为已经处理完了,右左右子节点已在栈上,信息够了。而中序与后序是需要保存额外信息的。通用方法中,用一个栈帧保存当前的一些数据,比如局部变量,返回值等,完全是机械式翻译。

憧憬,思考,奋斗,飞翔 189

排序算法深度笔记(上):比较类排序的思想演进与代码实现

与。本文聚焦前者 —— 也就是通过元素间两两比较来确定相对顺序的排序算法,从最朴素的 O (n²) 基础排序,到工业级主流的 O (nlogn) 进阶排序,逐层拆解设计思想、带注释的代码实现与边界细节。当我们理解了比较排序的性能边界,也就自然引出了非比较排序的存在意义。所有代码均遵循统一的实现规范:入口函数前置空数组与单元素边界校验,基于数组原地修改,主函数附带可直接运行的测试用例,与练习代码风格完全对齐。

2401_87069538的博客 636

【计算基础|Redis06】底层数据结构

本文详解Redis 7.4底层数据结构设计:以SDS替代C字符串实现O(1)长度查询与二进制安全;ZSet采用跳表+哈希表组合,兼顾排序与快速查找;小对象用listpack取代ziplist,根除连锁更新问题;List通过quicklist融合紧凑与链表优势;哈希表采用渐进式rehash避免阻塞;整数集合使用intset节省内存。结合OBJECT ENCODING实测,直观展示数据从紧凑编码(int/embstr/listpack)自动切换至通用编码(raw/hashtable)的过程,体现“小则省、大则快

花间相见的博客 344

CF2283F[数据结构]

首先考虑一种暴力解法,当我们建好i之前的图后,当我们添加i的时候,区间[li,ri]中的点都会向i建边,但是这些点中,如果有某两个顶点l,r,满足l<r,那么l就可以通过r间接到达i,因此可以删除l到i的边;初始时我们令所有点放入set中,然后对于每一个i的处理,我们将集合中仍在[l,r]的范围的点弹出,并且将f设置为i,这样我们就得到了所有点的最小跳板;对于每个区间[l,r] 我们要计算这下下标中的f(v)中大于r的数目有多少个;我们令f(v)表示顶点v可到达的最小的顶点;

蒟蒻 163
上一篇: 跟老紫竹学Java-图书销售系统-辅助类和配置文件
下一篇: 跟老紫竹学Java-图书销售系统-服务接口和实现
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值