gpt4 book ai didi

java - Restful 服务的数据库架构

转载 作者:行者123 更新时间:2023-12-02 04:39:46 27 4
gpt4 key购买 nike

我正在数据库中为一个静态服务编写表,该服务公开了名为 Orders 的资源。

Orders(id, items, user, total_amount)

我使用 XML 来实现同样的目的。我的问题是如何在每个 OrderId 的订单表中存储“项目”并以 XML 形式返回列表?我们如何在这里处理多个项目?

我的意思是,如果我想要这样的 XML 响应,我如何将数据存储在数据库中?

<Order>
<Id>1</Id>
<Item>A</Item>
<Item>B</Item>
<Item>C</Item>
<User>Simran</User>
<Total_amount>1100</Total_amount>
</Order>

到目前为止我拥有的数据库表:

create table Users
(
Id int not null primary Key identity(1,1) constraint fk_UserId_Id references Orders(UserId),
name nvarchar(50),
phone nvarchar(10)
);

create table Items
(
Id int not null primary Key identity(1,1) constraint fk_item_Id references Orders(ItemId),
name nvarchar(50),
Price int
);

create table Orders
(
id int not null primary Key identity(1,1),
ItemId int,
UserId int,
);

最佳答案

这完全取决于您希望如何存储数据。

对数据进行非规范化可能会根据您的示例创建 3 个表,一个用于订单、用户和商品的表。

在从数据库查询结果生成 XML 方面,您需要将数据提取到 XML 模型中。我建议分离这个逻辑并生成一个转换层,这样您在操作对象时就不会弄乱数据服务层。

XML 中的多个项目也必须由外部元素包装,如下所示:

<Orders>
<Order>
<Id>1</Id>
<Item>A</Item>
<Item>B</Item>
<Item>C</Item>
<User>Simran</User>
<Total_amount>1100</Total_amount>
</Order>
<Order>
<Id>2</Id>
<Item>A</Item>
<Item>B</Item>
<Item>D</Item>
<User>Simran</User>
<Total_amount>1300</Total_amount>
</Order>
</Orders>

关于java - Restful 服务的数据库架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30306309/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com