当前位置:网站首页>西门子低代码平台通过Database Connector 连接Mysql 实现增删改查
西门子低代码平台通过Database Connector 连接Mysql 实现增删改查
2022-06-29 23:48:00 【西门子低代码】
简介:
本文介绍了西门子低代码平台如何通过Database Connector 连接到外部数据库并实现增删改查操作。连接外围数据库是西门子低代码平台的内置功能,不同数据库的连接方式大同小异,本文以MySQL为例讲解。
安装清单:
Mendix9.6.10下载地址:https://docs.mendix.com/releasenotes/studio-pro/9.6/#9610
其他版本下载:https://marketplace.mendix.com/link/studiopro/
Mysql下载地址:MySQL :: Download MySQL Community Server
Database Connector:可在Mendix Studio Pro中点击右上角购物车图标,进入App Store界面(内嵌在Mendix Studio Pro工作区当中),在左边目录中选择 Connectors->Data或者直接在搜索框输入 Database, 找到“Database Connector”,进行下载(Mendix Marketplace - Database Connector)
Mendix 连接数据库需使用的JDBC驱动程序:发行说明 - JDBC Driver for SQL Server | Microsoft Docs
目 录
1 相关概念
1.1 什么是Mendix Studio Pro
Mendix Studio Pro是创建、测试、运行西门子低代码平台应用的开发工具,它不仅可以完成Mendix Studio可以完成的在线开发,还可以进行脱机开发,项目会存储在本地存储介质上。Mendix Studio Pro开发环境需要下载安装包,进行本地安装后方可使用,需要登录账户才能正常使用。Mendix Studio Pro可以与Mendix Studio进行协作开发。
1.2 什么是微流
微流允许表达应用程序的逻辑,可以执行诸如创建和更新对象、显示页面和做出选择等操作。西门子低代码中的微流允许用户构建自定义逻辑,西门子低代码在平台中已经有很多默认的功能,当用户想扩展这些功能并创建一些自定义的强大逻辑时,可以通过构建一个微流来支持。
微流类似C++/Java 的函数,以绿色圆圈为Start event,红色圆圈为End event,一个微流只能有一个Start event,可以有多个End event。
1.3 什么是Database Connector
Database Connector是Mendix Marketplace的热门组件之一,可用于无缝连接到外部数据库,而不会限制您选择数据库或SQL语言,从而使您可以将外部数据直接合并到Mendix应用程序中。Database Connector可以从Mendix的Marketplace快速下载并导入到自己的项目中去。
1.4 什么是MySQL
MySQL是一个关系型数据库管理系统,属于 Oracle 旗下产品。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
1.5 开发环境
系统:Windows10系统(家庭版和专业版)
Mendix版本:当前使用为9.6.10版本,可使用当前及更高版本进行操作
MySQL版本:MySQL8.0
2 操作步骤
2.1 数据库建表
主体思路:通过SQL语句在数据库中建表
具体操作过程如下:
STEP 1:建表。命令为:create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…);
----------------------------------------
create table test.user
(
Student_id int null,
Student_name varchar(50) null,
Student_gender char null,
Student_age tinyint unsigned null
)
comment '用户表';
----------------------------------------
STEP 2:为表同时插入多条记录。命令为:insert into 表名(字段名) values (内容1),(内容2),(内容3);
---------------------------------------------------------------
insert into user(Student_id, Student_name, Student_gender, Student_age)
values (1,'A','女',13),
(2,'B','女',22),
(3,'C','女',22);
-------------------------------------------------------------------
结果为:

2.2 创建西门子低代码平台项目
打开Mendix Studio Pro->Create New APP->Blank Web App
(可根据个人需求选择主页模板)

2.3 连接外部数据库
主体思路:
1.首先下载Database Connector
2.完成连接数据库准备工作:下载相应JDBC驱动,创建常量。
3.需要一个List页面展示数据库数据
具体操作过程如下:
STEP 1:建好项目后,点击右上角购物车图标进入APP Store界面,在左边Categories(目录)中,选择Connectors,选择Data,找到Database Connector并下载。

Database Connector -->Download -->Import (Tips:Import Module中Action为Add as a new module)
STEP 2:在APP Store中点击Document页签下的Database Connector链接,在网页中打开参考文档,查看具体使用信息及注意事项。下载相关的JDBC driver/驱动文件,并解压放到Mendix项目的userlib目录下


STEP 3:创建数据模型,user类名与数据库表名一致


STEP 4:创建数据库访问常量

创建三个常量,分别填入连接MySQL所需的链接、用户名、密码
(1) DB_URL

Tip:Default value默认链接针对MySQL,其他类型的数据库格式会有区别
(2) DB_User

(3) DB_Pass

STEP 5:新建微流“Show_StudentOverview”如下:

逻辑实现:
①微流首先创建一个Entity实例,用于保存从MySQL中读取到的信息

②使用Database Connector中带的Execute Query,写入查询语句进行数据库查询

查询的SQL语句为:
'Select Student_id,Student_name,Student_gender,Student_age from user'
③最后设定微流返回的数据为查询结果ListOfData

STEP 6:新建一个Lists页面“StudentOverView”用于展示数据,在新建页面时选择List模板,页面自动添加List View,其中数据源选择刚刚建好的微流
将各数据分别展示

至此,连接与访问外部数据库的工作已经完成
2.4 增
主体思路:
1.首先在数据展示界面添加“New”操作按钮
2.新增数据需要新建一个页面供用户填写数据表单
3.输入完成进行保存,设置弹窗提示
具体操作过程如下:
STEP 1:在“StudentOverview”页面标题右侧添加并配置“New”按钮


STEP 2:新建页面“user_NewEdit”:展示新增一条数据需要输入的信息
STEP 3:配置Save按钮,通过微流实现向数据库插入页面user_NewEdit上输入的信息。

STEP 4:新建微流“Student_InsertUpdate”如下:

逻辑实现:
①定义写数据库需要用到的参数,设置变量名与类型(这里以Student_id为例)


②添加一条记录对应就是向数据库插入一条数据,因此下一步要执行SQL语句向数据库插入一条数据,插入的值为当前页面上的输入值(上述定义的参数获取)。在Toolbox里找到ExecuteStatement的动作,拖拽至工作区。


添加的SQL语句为:
'Insert into user(Student_id,Student_name,Student_gender,Student_age)
VALUES(
'''+ $Student_id+''',
'''+ $Student_name+''',
'''+ $Student_gender+''',
'''+ $Student_age+'''
)'
③关闭当前页面

④对当前操作进行弹窗提示

2.5 删
主体思路:
1.首先在数据展示界面添加“Delete”操作按钮
2.配置其On Click响应为Call a microflow删除对应数据库条目
3.进行操作提示并刷新页面
具体操作过程如下:
STEP 1:在“StudentOverview”页面数据右侧添加并配置“Delete”按钮


STEP 2:微流“Student_Delete”如下:

逻辑实现:
①删除一条记录对应就是在数据库删除一条数据,因此微流要执行SQL语句向数据库删除一条数据;与插入动作类似,在Toolbox里找到ExecuteStatement的动作,拖拽至工作区。

删除的SQL语句为:
'Delete from user where Student_id = '+ $user/Student_id+';'
②对当前操作进行弹窗提示
③刷新页面

2.6 改
主体思路:
1.首先在数据展示界面添加“Edit”操作按钮
2.修改数据需要进入一个新的编辑界面,该界面应该和新建一条记录的界面相似,不同的是新建界面中各属性字段为空,编辑时各属性字段为被编辑的值
3.输入完成进行保存,设置弹窗提示
具体操作过程如下:
STEP 1:在“StudentOverview”页面数据右侧添加并配置“Edit”按钮:


STEP 2:微流“Student_Edit”如下:

逻辑实现:
①按照Student_id去数据库读取当前数据

读取数据的SQL语句为:
'Select * from user where Student_id='+$user/Student_id+';'
②调出页面user_NewEdit并将上一步读出的数据放到页面里供编辑


STEP 3:此时在“user_NewEdit”页面中点击save按钮,微流“Student_InsertUpdate”会被调用,因此该微流在实现New的基础上还应满足Edit的需求.
微流“Student_InsertUpdate”更改如下:

Tips:与2.4小节不同的是在“Show Message”后添加“Create object”。“Commit“选择“No”;“Refresh in client”选择“Yes”,目的是在增加和修改操作后刷新当前页面

逻辑实现:在2.3的基础上添加数据库查询和条件判断语句
①数据库查询:

②条件判断:判断上一步查询结果ReturnValueName是否为空,为空则执行新增,非空则执行修改

③数据库修改的SQL语句为:
'Update user SET Student_name = '''+ $Student_name+''',
Student_gender = '''+$Student_gender+''',
Student_age = '+$Student_age+' where
Student_id='+ $Student_id+';'
2.7 查
主体思路:
1.首先在数据展示界面添加“查询”操作按钮
2.查询数据需要新建一个页面供用户填写关键字进行搜索
3.搜索结果应在新弹出界面展示
3.搜索失败应有弹窗提示
具体操作过程如下:
STEP 1:在“StudentOverview”页面标题右侧添加并配置“查询”按钮:


STEP 2:需定义一个Search实体存放查询输入框输入文字

STEP 3:新建页面”SearchOverview “:

STEP 4:配置“Search”按钮:

STEP 5:新建微流“Student_Search”:

逻辑实现:
①Create Object

②执行SQL语句在数据库中查询Studentship_id等于SearchKey的数据

返回值命名为:SearchRow
查询的SQL语句为:
'select * from user where Student_id='+ $Search/SearchKey+';'
③判断查询结果”SearchRow”是否为空,为空则查询失败,非空则显示查询结果

为空:

非空:

④新建“Search_Show”页面,展示查询到的信息

“Search_Show”页面展示:

3 结果展示

关于Mendix公司
在一个数字化先行的世界中,客户希望自己的每一项需求都得到满足,员工希望使用更好的工具来完成工作,而企业意识到自己只有通过全面数字化转型才能生存并取得成功。Mendix公司,a Siemens business正在迅速成为企业数字化转型的推动者。其业内领先的低代码平台和全方位的生态系统整合先进的技术,帮助企业创造出提高互动性、简化操作和克服IT瓶颈的解决方案。Mendix公司以抽象化、自动化、云和协作为四大支柱,大幅提升开发者的生产力,并且依靠自己的工程协作能力和直观的可视化界面,帮助大量不熟悉技术的“公民”开发者在他们所擅长的领域创建应用程序。Mendix公司是权威行业分析师眼中的领导者和远见者,也是一个云原生、开放、可扩展、敏捷和饱经考验的平台。从人工智能和增强现实,到智能自动化和原生移动,Mendix公司已成为数字化先行企业的骨干。Mendix公司企业低代码平台已被全球4000多家领先的公司采用。
感谢阅读!
边栏推荐
- 软件测试 接口测试 Jmeter 5.5 安装教程
- 请指教什么是在线开户?另外,手机开户安全么?
- Matplotlib histogram of Matplotlib visualization plt bar()
- [Shangshui Shuo series] day 8
- “微博评论”的高性能高可用计算架构
- 网上开户选哪个证券公司?还有,在线开户安全么?
- Pain points and solutions of M1 notebook home office | community essay solicitation
- Solr基础操作2
- After working in the software development industry for six years, I changed my ideas in those years
- Xutils3 transfer set
猜你喜欢
![[译]在软件开发行业工作 6 年后,那些年我曾改过的观念](/img/69/c9829b14223f1e8fd3137d0750d8f7.png)
[译]在软件开发行业工作 6 年后,那些年我曾改过的观念

@Scheduled annotation pit, I stepped on it for you

High performance and high availability computing architecture of "microblog comments" in microblog system

Halcon practical: design idea of solder joint detection

数莓派 4怎么样?可能的玩法有哪些?

Collection! Have you ever used these tools to improve programmer productivity?

FPGA开发(2)——IIC通信

Yunhe enmo, gaiguoqiang, identify it and grasp it before the domestic database boils

6.29日刷题题解

6.29 problem solving
随机推荐
CE second operation
一步步教你在Edge浏览器上安装网风笔记
Is it safe to open a stock account? Shanghai stock account opening.
Common knowledge of ECS security settings
Pytest initializing and cleaning up the environment
深度学习的历史
剑指 Offer 15. 二进制中1的个数
[Shangshui Shuo series] day 8
Halcon practical: design idea of solder joint detection
Software testing interface testing JMeter 5.5 installation tutorial
Simple understanding of B tree and b+ tree
25 interview questions about Apache
云服务器的安全设置常识
[wechat applet] understand the basic composition of the applet project
Start harvesting! Nailing: adjust the maximum number of free users of "nailing team". If the number exceeds 10, it will not work normally
Incluxdb time series database system
SQL question brushing 595 Big country
Head on Amway! Good looking and practical motor SolidWorks model material see here
LC: maximum subarray and
Solr basic operation