关于ivx中数据库多表联查的经验总结

iVX中数据库中的字段索引 一、什么是数据库索引 数据库索引,类似于图书馆中的分类查询卡片,用于快速的对数据库进行查询。索引原理,简单来说,就是针对数据库中某个字段的数据,进行排序,存储在另一个专门的索引数据表中。然后在针对该字段的查询时,使用二分法快速从索引数据表中定位到相应记录的数据ID,再根据这个数据ID,从原始表中返回需要查询的记录信息。 举个例子,我们把数据库里的数据,想象成是一个图书馆里的所有的书,假设,我们现在有这些书: 注意,这些书的排列顺序,是按入库时间来的,这个也是通常数据的排列顺序,即先来的排在前面,后来 阅读详情

数据库是案例中经常用到的后台组件,而且往往一个案例中会使用多个数据库存储数据,当这些数据库之间有公共字段且存在一定关系时我们就会使用到多表联查。

一.多表联查
例如下图,图片表中数据ID字段为唯一标识字段,我们要在喜欢表中引用图片表的数据时,并不是将图片直接添加在喜欢表中,而是将图片的数据ID保存在喜欢表的imageID字段中。反之,通过这个imageID我们可以在图片表中找到唯一确定的图片数据。
在这里插入图片描述
这样做的好处是当一个数据库数据发生改动时,不会对其它数据库造成影响。例如,当图片表数据ID为1的记录需要更换图片时,我们只需要更改图片表,但如果喜欢表中直接存放的是图片数据,我们就要从喜欢表中找出所有与该图片有关的数据一一更改。
在这里插入图片描述
在数据库中我们将数据ID这样唯一标识一条记录且不能重复不允许为空的字段称为主键,其它字段称为外键,而外键不能用于多表联查,只有主键可以作为其它数据表中外键。例如图片表中的数据ID在喜欢表中就是作为外键。

二.案例事件

1.输出数据服务
在输出数据服务中我们要做的不光是输出图片库中全部图片的资源地址,还需要统计每张图片总共被点赞的次数和是否被当前用户点赞。
首先我们将图片表输出到后台的对象数组“图片列表”中,可以注意到“图片列表”中除了对应图片表中数据ID和image两个字段外还添加了like和islike两个字段,其中like用于存储该图片被点赞的总次数,而islike用于存储图片是否被当前用户点赞。不过由于数据库中没有这两个字段,所以此时这两个字段都还是空值。
接下来我们使用一个循环语句遍历对象数组的每一行数据。每次循环中我们先统计喜欢表中imageID字段等于该行图片数据ID且islike字段为1的记录条数,将统计结果填到该行的like中,然后再从喜欢表中输出image字段等于该行图片数据ID且提交用户为当前用户的记录,根据统计结果设置islike的值。这里使用了一个三元表达式,如果输出行数是0行就表示当前用户没有点赞过该图片直接赋值为0。如果有输出记录,那么输出结果中的islike就可能为1(用户点赞过)也可能为0(用户点赞过又取消了),这里我们不需要再进行判断而将其直接赋值到对象数组中即可。最后我们将对象数组“图片列表”返回到前台。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.提交图片服务
提交图片中我们将图片URL地址传给服务,在图片表中添加一条数据即可。
在这里插入图片描述
3.喜欢与否服务
喜欢与否服务用于用户对图片的点赞状态发生改变时,其接收参数就是图片的ID和用户当前对图片的点赞状态。首先从喜欢表中统计提交用户为当前用户且image字段为所传图片的记录条数,如果为0说明用户对该图片没有点赞过,就直接将接收参数提交到喜欢表中,如果统计结果不为0则将接收参数更新到喜欢表中。
在这里插入图片描述
4.在前台初始化时我们调用输出数据服务,将数据保存到前台的“图片列表”中,然后通过循环创建展示出所有图片及它们的总点赞数,喜欢图标也通过数据绑定会根据当前用户是否点赞显示对应的样式。
在这里插入图片描述
在这里插入图片描述
点击喜欢图标则调用喜欢与否动作组,动作组中会将当前图片的数据ID和islike取反之后的值传给喜欢与否服务。当服务成功更改后台数据后就将前台“图片列表”中的值更新。
在这里插入图片描述
在这里插入图片描述
5.模型中,我们还可以自行上传图片。点击上传图片图标就可以将图片地址保存到一维数组中,界面下方会以一维数组为来源将图片循环创建并展示,点击每张图片的upload按钮会调用提交图片服务将该图片上传至图片库中,上传成功后自然也就将该图片从一维数组中删除。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结
是否使用多表联查一定要结合自己的案例实际情况。一般而言,直接绑定数据的话在制作时逻辑会比较简单,但是会增加后期维护的难度;而使用多表联查则相反,在制作案例时逻辑会更加复杂一些,但是有利于后期维护和改动。

使用ivx开发web全栈项目 初探(一) 一、前言 本人是一枚喜欢探索黑科技的web前端,没事喜欢研究研究框架,了解网络技术/工具等等。最近在研究saas和paas的时候在知乎专栏有大佬提到了一款在线页面编辑系统——ivx。看到这里在做的大佬估计表示不屑,不就是在线编排h5的工具网站嘛,这种东西国内不多得是:135编辑器、秀米、易点,大同小异都是集成的富文本编辑器,允许你使用封装好的事件触发器、动画效果、自定义css样式,感觉没什么技术含... 阅读详情

相关推荐

【iVX】数据库发布时是否需要选择同步数据

【私有化部署时的更新】 为减少私有化部署时对后台数据同步与否的误操作, 将会对在应用导出前弹出后台数据库导出同步选择框, 如下所示, 勾选意味着导出的不仅有前端代码, 还有后台数据库里面的数据, 这些数据在自己服务器上执行 ivxbase 时会将生产环境下的数据覆盖, 因此每一个勾选都需要慎重再慎重, 如果是通过iVX的发布按钮直接发布, 数据的误删或覆盖是支持人工找回的(需付费), 如果是私有化部署以后的数据误删或覆盖, 则我们不支持找回(黑客也难做到). 【更新通知】 由于发布时同步数据的开关按钮.

deadlinefighter的博客 727

八、后台与数据库(IVX 快速开发教程)

八、后台与数据库 在 iVX 中数据库作为数据存储仓库,通过数据库可以永久性存储存储数据,而后台服务起到数据传输作用,将数据库的数据传输到前台页面之中,页面再使用这些数据。 8.1.1 数据库添加 在 iVX 中点击后台即可创建数据库,操作流程如下: 创建数据库后,可以在数据库中添加字段值,该字段值创建方法与二维数组类似。首先点击数据库,在出现的数据库编辑框中点击新建字段,字段我们可以理解为“列”: 我们依次创建以下字段: 随后点击加号输入具体内容: 在数据库中,我们发现数据ID会按次序自动进行增加

1_bit 的博客 4247

iVX开发中整理的常见问题与回答(三)

ivx开发常见问题及回答

VXLab的博客 1592

IVX——低代码开发-如何连接并操作外部数据库

IVX的后台组件中有一种组件,叫dbo,运用相应的sql语句即可访问数据库,并进行增,删,改,查的操作。第一步,部署后台数据库。这是还未链接数据库时的dbo。如何链接呢?首先根据你的数据库类型选择相应的DB类型。这里我选择的是MySQL,然后依次填入你的数据库的链接地址,用户名,还有密码。点击连接,连接成功后会在数据库列表展示出你的数据库列表。第二步,根据所需写出对应的sql语句首先,添加sql模板组件。在选中dbo的时候,旁边的工具栏中会出现sal模板,点击即可添加这个组件。

hinxx的博客 1696

iVX开发过程整理的常见问题与回答(二)

ivx低代码常见问题及回答

VXLab的博客 1684

使用ivx实现简易计算器的经验总结

今天要讲的是利用ivx制作一个能够进行简单加减乘除运算的计算器,设计思路是将整个输入的运算式保存到一个文本变量中,通过eval()直接方法计算文本变量中表达式的值,下面说一下具体步骤。 1.计数器界面的上面用于显示输入的计算式和计算结果,下面使用文本组件展示16个按键,这16个键可以分为四类,数字键,运算符键,等于键,清零键。其中按钮键和运算符键它们同类按键的操作都是类似的,我们可以写成一个动作...

VXLab的博客 1241

使用ivx实现日期格式转换的经验总结

在案例展示中经常包含日期这一信息,而在不同的应用场景下对日期的格式要求也不尽相同。其实日期最终的展示结果本质上还是一个字符串,我们要做的只是把日期截取然后组合成与标准模型一致的样式,下面我们就来讲一讲如何在ivx中通过自定义函数做这种日期的格式化处理。 1.自定义函数 在这个demo中使用了一些自定义函数,虽然ivx的案例中一般不需要写代码,但是依旧提供了代码功能。自定义函数组件可以接收和返回参...

VXLab的博客 748

win10 运行lisflood_8踩过的坑

1、安装cuda及VS2019 https://www.bilibili.com/read/cv7335974/ 2、netcdf.h头文件找不到问题 https://www.cnblogs.com/lyggqm/p/12926974.html https://blog.youkuaiyun.com/u011954296/article/details/54617048 3、编码问题 https://blog.youkuaiyun.com/qq_33485434/article/details/81196843 4、

我的笔记 4115

IVX之数据库的使用心得

数据库是各个应用程序不可或缺的重要组件,它能够将数据存储到后台,并且调用。但凡一款应用程序需要存储和访问用户数据,它都离不开数据库。在IVX中,数据库自然是非常重要的一个组件,基本功能包括增、删、改、查。那么我在使用它时需要注意哪些事项呢? 在设置数据库列结构时需要注意字段的设置。字段类型分为文本、整数、数值、资源、时间、日期和Json类型。在刚开始接触数据库时,我们常用到最基础的三个类型为文本、数值和资源类型。要注意,电话号码一般存储在文本类型中,因为我们不需要对电话号码进行数值计算,而身份证号码也要存

jinyifu的博客 1589

Vivado XDMA仿真实战:从配置到链路训练全解析

本文深入解析了Vivado中XDMA IP核的仿真实战流程,重点剖析了PCIe链路训练状态机(LTSSM)的工作原理与调试方法。通过搭建仿真环境、解读日志与波形,手把手指导如何从配置、链路训练(LTSSM)到BAR映射与DMA启动进行全流程分析与问题定位,帮助工程师掌握核心调试技能,确保PCIe链路稳定与数据传输正确。

weixin_29197051的博客 154

Ubuntu20.04下Docker无缝升级实战指南

本文提供了一份在Ubuntu20.04系统上安全、无缝升级Docker的实战指南。文章详细阐述了升级前的版本检查、数据备份等准备工作,逐步演示了通过APT包管理器进行升级或指定版本安装的操作步骤,并强调了升级后的验证与常见问题回滚方案,确保业务容器平稳过渡。

postgres8guard的博客 478

大数据最新【低代码】ivx详解之系统架构_低代码平台技术架构图,2024年上半年最接地气的大数据开发面经

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新需要这份系统化资料的朋友,可以戳这里获取持续更新**需要这份系统化资料的朋友,可以戳这里获取。

tencentes的博客 395

一文详细讲解CRM系统(附架构图、流程、功能介绍)

专为中小企业量身打造高性价比的数字化转型路径!企业如何用CRM才能真正做到降本增效?今天,就用一文讲清这些问题!读完本文,你将清楚得了解CRM的概念、框架、流程、功能、企业成功案例,文末还有常见问题解答。

Dabeishandong的博客 9925

IVX开发数据库导入,事件触发回调报错问题(已解决)

ivx开发查单词微信小程序,遇到数据库导入错误,事件不能触发回调问题,已解决。

weixin_51762252的博客 1433

Transformer实战(2)——循环神经网络详解

循环神经网络 (Recurrent neural networks, RNN) ,RNN 是在文本输入中广泛使用的神经网络。RNN 非常灵活,已被用于解决诸如语音识别、语言建模、机器翻译、情感分析和图像字幕等问题。RNN 利用输入的序列特性,序列输入可以是文本、语音、时间序列以及任何其他元素的出现取决于其前面元素的序列。在本节中,我们介绍了 RNN 及其变体,并学习如何使用 TensorFlow 进行实现。

盼小辉丶的博客 1万+

出现 Error occurred during initialization of VMagent library failed Agent OnLoad 解决方法

ntelliJ IDEA启动时出现"Agent library failed to load"错误,主要原因是JVM代理加载失败。解决方法包括:1)完全卸载并删除用户目录下的JetBrains配置文件;2)检查并修改idea64.exe.vmoptions文件,确保路径正确并删除不必要的-javaagent参数;

码农研究僧的博客 2483

iVX近期研发目标

iVX 2021年研发目标(5.0版本) iVX的核心IDE 开发过程可视化,使“复杂度=最小应用开发步骤”;支持教学展示;获取开发者详细开发数据,对开发过程进行优化和管理; IDE整体:管理功能IDE化,所有管理和开发过程最好都在IDE可以完成 iVX前端生成可编辑的JS代码;中台生成对应JS代码(Deno支持);用户可以自行修改代码;Base库可以在往上下载(版本管理);(中) 支持企业自动化部署iVX系统; 前端部分 前端调试工具; 滑动验证等综合用户登陆验证的支持;(已实现) 更快速导入自定义组件,

VXLab的博客 784

RK3588 Buildroot 新建板级DTS

在rk3588 linux开发过程中,新创建板型主要基于硬件差异化、软件适配与优化、项目定制化等多方面需求。

501846585_QQAndroid_java 1298

一篇文学会商用可编辑问卷表单制作【iVX 十二】

公共表单 在 iVX 快速教程中,我们使用一个公共表单项目作为 WebApp 应用的演示说明。公共表单项目可以用于企业内部或一个问卷公共平台做问卷调查,用户可以自由的设置表单元素以及样式,并且可以手动设置表单结束下载填写问卷后的调查数据。 公共表单共分为 6 个页面,分别是已结束填写表单、需填表单、自己创建的表单、具体表单显示以及登录页面。 已结束填写表单页用于查看已结束的表单内容或进行结束表单的数据下载;需填写表单用于查看需要填写的表单内容;自己创建的表单用于查看自己当前所创建的表单;具体表单显示为填写表

1_bit 的博客 3925

《AgentScope-Java 深入浅出教程》第3章 消息系统(Message)

在 AgentScope 中,消息(Msg)是最核心的数据结构。│ 消息的作用 ││ ││ │ 用户输入 │ ────────────┐ ││ ▼ ││ │智能体通信│ ◄────► │ 消息对象 │ ◄────► │ LLM API │ ││ ▲ ││ │ ││ │ 历史存储 │ ────────────┘ ││ │用户输入:封装用户的问题和指令智能体输出:封装智能体的回复和工具调用智能体通信:在多智能体系统中传递信息LLM API 交互:转换为 LLM 可理解的格式历史存储。

步子哥的博客 228

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

使用ivx实现提交报名表单的经验总结

提交表单是非常多案例中都会使用到的一种功能,例如活动报名,提交审核,问卷调研等等。其实它要实现的最终结果就是将前台输入的数据提交到后台的数据库中,今天以这个极简活动报名为例说一下提交表单的具体做法和流程。 一.数据库 这个极简活动报名中提交的表单中包含Name、Telephone、Have dinner、Session和Self introduction五项,于是我们在数据库中添加对应的五个字段...

VXLab的博客 1151

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

iVx实现页面简易新闻应用

一、前言 如果你要做一个应用,批量数据的显示是不可避免的。要实现数据展现有很多方式,可以使用原生的js或者Vue,也可以使用后端的各种模板引擎。而今天我选择的是使用iVx语言来实现。 iVX是一种基于云原生的全新开发体系(包括前端和后台),一种无代码可视化的编程语言:无代码,可视化,组件化,数据驱动(data driven),云原生(Cloud Native),是该语言重要的特点;iVX有自身的编译器/解析器,可以生成选定目标系统的可执行代码。 详细的内容可以访问官网,创建项目操作属性等可以查看如何自定义炫

ZackSock的博客 8461

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

使用ivx实现投票的经验总结

在交互案例中,投票属于一种常用功能,我们今天就讲一讲在ivx中如何制作一个具有投票功能的小demo。 一.后台数据库 首先,投票案例的数据由两部分组成的,一是参与投票的候选人,需要包括候选人的信息以及票数,二是投票流水记录,需要包含投票用户和被投候选人,这两部分需要在后台用两个数据库分别存储。 1.候选人信息 由于demo是运行在微信环境下,可以由用户组件直接发起微信公众号登录,所以我们直接使用用...

VXLab的博客 737

【低代码】ivx详解之系统架构

ivx的编辑界面具有实时可见的效果,不需要编译运行,对于前端开发人员非常友好。在数据存储上,简化了数据库运用的操作,不再需要记忆复杂的数据库命令。

NoBack7--For the dream 6718

关于iVX平台实现的总体技术栈【低代码/无代码、可视化开发语言】

iVX刚推出的时间不长,现在还处于公测阶段,个人用户和工具使用都是免费的,应用处于运营阶段才收费。 总体来说(如下图),相当于“一款零代码可视化编程语言”+“IDE的集成开发环境(自带编译器)+“配套云端IAAS资源” 可以实现:一站式研发、一站式部署、一站式维护的完整的在线开发体系。 iVX平台整体 一、“前后台”一体 前端和后台的能力都很强大,支持中大型各种应用的开发,同时支持各种目标平台的应用。 应用场景包括: 企业内部系统(OA HR CRM 文档协作 BPM工作流引擎 表单引擎

troymeng的博客 1万+
上一篇: 使用ivx实现领取券码的经验总结
下一篇: 关于ivx邮件组件的经验总结
Zero-code Fighter
博客等级 码龄7年 258粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值