筋斗云接口编程 / 对象型接口

编程入门 行业动态 更新时间:2024-10-26 10:39:12

筋斗云<a href=https://www.elefans.com/category/jswz/34/1771365.html style=接口编程 / 对象型接口"/>

筋斗云接口编程 / 对象型接口

对象型接口

为了更好的理解之后章节的示例,我们先了解一下示例中用到的数据模型。

[数据模型描述方式]

下面是几个数据表,每个表都应有个作为主键的id字段,是可自动增长的整数类型,即使是关联表也应定义id字段作为主键。

用户:
@User: id, uname, phone(s), pwd, name(s), createTm订单:(用Ordr而不是Order词是避免与SQL关键字冲突。)
@Ordr: id, userId, status(2), amount, dscr(l)
- status: Enum. 订单状态。CR-新创建,RE-已服务,CA-已取消.订单日志:
@OrderLog: id, orderId, tm, action(2), dscr
- action: Enum. 操作类型。CR-创建订单,PA-付款,RE-完成服务,CA-取消订单.接口调用日志:
@ApiLog: id, tm, addr, app, ac, retval&, req(t), res(t)

一个用户对应多个订单(通过userId关联),一个订单包含多个物件,以及有多个订单日志(通过orderId关联),表示如下:

User 1<->n Ordr (userId)
Ordr 1<->n OrderLog (orderId)

在设计文档DESIGN.wiki中,我们用@表名: 字段名1, 字段名2这样的格式来定义数据模型。前面讲过,通过tool/upgrade.php工具可以把它们创建或更新到数据库中。

字段名的类型根据命名规范自动判断,比如以id结尾的字段会被自动作为整型创建,以tm结尾会被当作日期时间类型创建,其它默认是字符串,规则如下:

规则类型
以”Id”结尾Integer
以”Price”/”Total”/”Qty”/”Amount”结尾Currency
以”Tm”/”Dt”/”Time”结尾Datetime/Date/Time
以”Flag”结尾TinyInt(1B) NOT NULL

例如,”total”, “docTotal”, “total2”, “docTotal2”都被认为是Currency类型(字段名后面有数字的,判断类型时数字会被忽略)。

也可以用一个类型后缀表示,如 retval&表示整型,规则如下:

后缀类型
&Integer
@Currency
#Double

字符串可以指定长度如status(2)name(s),字串长度以如下方式描述:

标记长度
ssmall=20
mmedium=50 (default)
llong=255
ttext

为了简化接口对象到数据库表的映射,我们在数据库中创建的表名和字段名就按上述大小写相间的风格来,表名或对象名的首字母大写,表字段或对象属性的首字母小写。

某些版本的MySQL/MariaDB在Windows等系统上表和字段名称全部用大写字母,遇到这种情况,可在配置文件my.ini中加上设置:

[mysqld]
lower_case_table_names=0 

然后重启MySQL即可。

更多推荐

筋斗云接口编程 / 对象型接口

本文发布于:2024-02-10 16:26:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1676216.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:接口   对象   筋斗云

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!