SpringCloud微服务架构实战库存管理与分布式文件系统

您所在的位置:网站首页 分布式库存管理 SpringCloud微服务架构实战库存管理与分布式文件系统

SpringCloud微服务架构实战库存管理与分布式文件系统

2024-07-01 05:01| 来源: 网络整理| 查看: 265

库存管理与分布式文件系统

在电商平台的库存管理系统设计中,将涉及商品和本地图库的管理,这里我们将使用另一种数据开发框架 MyBatis进行数据库访问方面的设计,还将实现与分布式文件系统的对接使用。

本章实例的项目工程是一个商品微服务项目goods-microservice,可以从本文提供的源代码中下载,或者在IDEA中通过Git检出:

检出代码后,请获取本实例使用的分支V2.1。本项目包含以下几个模块: goods-object:公共对象设计。 goods-restapi:库存管理微服务API应用。goods-web:库存管理PC端Web应用。

SpringCloud微服务架构实战库存管理与分布式文件系统

 

本篇文章要介绍的内容 基于MyBatis的数据库开发, 数据库服务组装, 单元测试, 库存微服务接口开发, 库存管理的Web应用开发, Web应用项目热部署设置 基于MyBatis的数据库开发

有关数据库开发的整个过程是在模块 goods-restapi 中实现的,在这个模块中,我们将使用MyBatis开发框架实现数据库的访问设计。其中,有关数据源的配置及其相关监控与第6章的设计相同,不再说明。

使用经过组装的MyBatis 组件

这里我们将在使用MyBatis组件的基础上,再使用一个经过高级封装设计的MyBatis组件。使用这一组件不但能简化一些基本的查询设计,还能提升程序的性能。在项目对象模型中引入相关组件的依赖,代码如下所示:

org.mybatis.spring.boot mybatis-spring-boot-starter1.3.1 tk.mybatis mapper-spring-boot-starter2.0.4 com.github.pagehelper Kpagehelper-spring-boot-starter1.2.3

其中,有关tk.mybatis 的设计,如果读者感兴趣,可以登录GitHub官网,搜索Mybatis进行更进一步的了解。

数据对象及其表结构定义

在库存管理中,我们将主要创建一个商品对象Goods,它的定义如下所示:

@Table (name = "tgoods") @ Data public class Goods { //商品编号 @Id @GeneratedValue(strategy =- GenerationType. IDENTITY)private Long id; //商家编号 private Long merchantid;//主类编号 private Long sortsid;//子类编号 private Long subsid;//商品名称 private string name;//商品内容 private string contents; //商品图片 private String photo;//价格 private Double price;//购买数量 private Integer buynum;//库存数量 private Integer reserve;//操作员 private String operator;//创建时间 @DateTimeFormat (pattern= "yyyy-MM-dd HH:mm : ss")private Date created; }

在上面的代码中,主要解释下面几个内容:(1)注解@Table关联了数据库的表格t _goods。

(2)注解@Data使用了Lombok 工具,它会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode和 toString 等方法。

(3)注解@Id和注解@GeneratedValue将在数据创建或编辑时为对象取得数据库ID的值。

(4)注解@DateTimeFormat使用了日期格式化,以保证在数据存取中使用正确的日期格式。

商品对象在数据库中对应的表格为t_goods,这个表结构的定义如下所示:

CREATE TABLE 'tgoods'( 'id' bigint (20) NOT NULL AUTO INCREMENT, ' contents' varchar(255)COLLATE utf8 bin DEFAULT NULL,'created' timestamp NOT NULL DEFAULT CURRENT TIMESTAMP,'merchantid' bigint (20) DEFAULT NULL, 'name'varchar(255)COLLATE utf8 bin DEFAULT NULL, 'operator' varchar(255) COLLATE utf8_bin DEFAULT NULL,'photo'varchar(255)COLLATE utf8_bin DEFAULT NULL,'price'double DEFAULT NULL, 'reserve' int(11)DEFAULT NULL,'sortsid' bigint(20) DEFAULT NULL,'subsid' bigint (20) DEFAULT NULL,' buynum' int (11) DEFAULT NULL,PRIMARY KEY ('id') } ENGINE


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3