关于 电科金仓 的话题之前介绍过,具体请参阅:
话不多说,直奔主题,
本文将介绍 金仓数据库管理系统 KingbaseES Plus v3.1.6 的基础用法,以及实操案例。
KES Plus 平台
金仓快速开发与运维平台(简称:KES Plus)是基于金仓数据库构建的应用快速开发和运维一体化平台。
KES Plus 以金仓数据库为基础,充分利用金仓数据库底层特性和优势,解决传统软件研发的痛点问题,助力软件开发商低门槛、低成本快速构建性能卓越、安全可靠的复杂应用。平台采用前后端分离技术,简化应用开发和部署,增强系统安全性、扩展性和性能,降低开发难度,提升开发效率。同时提供丰富的自动化运维管理工具,实现故障切机、繁忙限流等能力,让用户的运维工作省心省力。
KES Plus 主要特点:三低(低门槛、低成本、低运维)、五高(高可用、高安全、高质量、高性能、高扩展)
KES Plus 面向群体主要为开发者,使用该平台可有效提升 PL/SQL 接口、RESTful 接口的开发效率。
KES Plus 技术栈包括:
-
前端技术栈 -
编程语言:JavaScript + TypeScript -
前端框架:KES Plus 脚手架 + Vue + Element Plus + Axios + UnoCSS + Vite
-
-
编程语言:SQL、PL/SQL -
开发环境:Win 10 + VSCode + Node.js
KES Plus Server 安装
KES Plus 服务器端支持部署在 Windows 10/11 和 CentOS 7/8。
下面以部署在 Linux 服务器为例。
试用版安装包下载地址为:
https://www.kingbase.com.cn/xzzx/index.htm
解压安装包,运行安装脚本。
[root@rl8 KES-Plus-server-installer-Linux-CentOS7]# sh KES-Plus-server-installer.sh
Command line arguments: -console
...
信息
许可证
安装目录
用户数据
初始化
───────────────────────────────────────────────────────────────────────────
[ Starting processing ]
Starting process run_install (1/2)
[KES Plus]: 开始安装...
[KES Plus]: KES数据库安装...
[KES Plus]: 用户kingbase已存在
[KES Plus]: 正在初始化KES数据库的dbdata...
[KES Plus]: KES数据库安装成功!
[KES Plus]: KES Plus Server安装
[KES Plus]: 正在安装KES Plus Server...
[KES Plus]: 安装完毕
Starting process run_start (2/2)
[KES Plus]: start-kesplus.sh path:/home/kingbase/kesplus/bin
[KES Plus]: 启动数据库...
[KES Plus]: 正在启动数据库...
[KES Plus]: KES数据库启动成功
[KES Plus]: 启动KES Plus Server...
[KES Plus]: 正在启动KES Plus Server...
[KES Plus]: 初次启动需要时间初始化KES Plus平台数据库,请您耐心等待...
[KES Plus]: KES Plus Server服务启动成功
[KES Plus]: 启动Nginx...
[KES Plus]: 正在启动Ngnix...
[KES Plus]: nginx启动成功
[KES Plus]: 启动完成
───────────────────────────────────────────────────────────────────────────
安装完成
───────────────────────────────────────────────────────────────────────────
恭喜!KES Plus 已成功地安装到:
/home/kingbase/kesplus
KES数据库地址:
192.168.43.81:54901
KES Plus Server地址:
192.168.43.81:54801
[ Writing the uninstaller data ... ]
[ 命令行安装完成 ]
[root@rl8 KES-Plus-server-installer-Linux-CentOS7]#
安装完成后,已自动运行 KES 数据库和 KES Plus Server。
通过 ksql
客户端连接到 KES 数据库,并查看版本、数据库。
[kingbase@rl8 ~]$ ksql -U system -d test -p 54901
Type "help" for help.
test=# select version;
version
--------------------------------------------------------------------------------------------------------------------------
KingbaseES V009R001C001M003B0019 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)
test=#
test=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------------------+--------+----------+-------------+-------------+-------------------
copy_vehicleManagementDB | system | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
kesplus_platform | system | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
kingbase | system | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
security | system | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | system | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/system +
| | | | | system=CTc/system
template1 | system | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/system +
| | | | | system=CTc/system
test | system | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(7 rows)
test=# \c copy_vehicleManagementDB
You are now connected to database "copy_vehicleManagementDB" as userName "system".
copy_vehicleManagementDB=# \dn
List of schemas
Name | Owner
----------------------+--------
accidentManagement | system
anon | system
basicSettings | system
dbms_job | system
dbms_scheduler | system
dbms_session | system
dbms_sql | system
insuranceManagement | system
kdb_schedule | system
kesplus_app | system
kesplus_base | system
kesplus_bug | system
kesplus_platform | system
kesplus_test | system
kesplus_workflow | system
perf | system
plsql_profiler | system
public | system
session_variable | system
src_restrict | system
SYS_HM | system
sysaudit | system
sysmac | system
systemPortal | system
UTL_HTTP | system
vehicleApplication | system
violationRegulations | system
wmsys | system
xlog_record_read | system
(29 rows)
通过浏览器访问 KES Plus Server,登录管理端。
管理员账号和默认密码:kesplus/K!ngb2se
开发环境准备
VSCode
VSCode(全称:Visual Studio Code)是一款由微软开发且跨平台的免费源代码编辑器。
该软件支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。 用户可以更改主题和键盘快捷方式实现个性化设置,也可以通过内置的扩展程序商店安装扩展以拓展软件功能。
在 VSCode 的扩展商店里搜索【金仓快速开发与运维平台】,并安装该插件。
安装完成后,可通过该扩展登录到 KES Plus Server。
Node 环境
Node.js 是一种开源与跨平台的 JavaScript 的运行环境,能够使得 JavaScript 脱离浏览器运行。它允许我们通过 JavaScript 和一系列模块来编写服务器端应用和网络相关的应用。Node.js 使用了事件驱动、非阻塞式 I/O 模型,让 JavaScript 运行在服务端的开发平台,成为与 PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
查看已安装的 node 版本。
>node -v
v20.12.2
为了演示后面的项目案例,这里还需要安装 pnpm 包管理器。
>npm install pnpm
>pnpm -v
9.9.0
示例项目:车辆管理系统
启动项目
在 KES Plus 安装包里提供了演示项目【车辆管理系统】的源码包【vehicleManagement.zip】,这里通过 VSCode 导入工程。
导入后,执行以下命令安装前端依赖。
pnpm install
同时,也可在 KES Plus 平台上看到相关项目信息。
执行如下命令启动应用。
pnpm run dev
输出:
> @kesplus/template-vite@3.1.6 dev
> kesplus dev
➜ Local: http://localhost:3000/
打开浏览器,访问项目主页。登录页已经提示了账号信息,不用再找了。
进入系统,家目录为【工作台】。
可视化页面与库表关系
在 KES Plus 低代码开发平台中,你可以很容易的找到画面和库表的对应关系。
如图所示,在【基础信息设置】的【车辆管理】页面,可以查询到车辆信息。
表单中的信息存储在金仓数据库中 copy_vehicleManagementDB
库的 basicSettings
模式下的 t_vehicle_info
表中。
PL/SQL 开发
在 KES Plus 平台中,业务功能的后端均使用 PL/SQL 进行开发,使得代码更加的简单,易维护。
该项目中,在各个菜单(模块)下,可以看到表、视图、函数、存储过程、包、定时任务、数据服务、菜单定义等分类。
例如,在【基础信息设置】模块下,已创建存储过程 proc_add_vehicle
。
RESTful 示例
在 KES Plus 中,RESTful 以 JSON 作为数据传输载体,是后端数据库对象与前端之间的交互接口。
开发者需要将已创建的视图、函数、存储过程等发布为 RESTful 接口,提供给前端调用。RESTful 接口将前端的 JSON 数据作为参数,传入 PL/SQL,在数据库内部执行 PL/SQL,然后直接将 JSON 数据返回给前端,从而完成一次前端请求的调用。
仍以【车辆管理】画面为例,在 VSCode 中可以看到已经创建如下几个 RESTful 服务。
使用 Postman 扩展测试【查看】接口,得到如下结果。
回到 KES 数据库中,我们可以通过如下 SQL 来查询对应信息。
copy_vehicleManagementDB=# select id from t_vehicle_info where vehicle_number = '京M66666';
-[ RECORD 1 ]------------------------
id | 6ce99bbc1a464b929da3aa5ec853659b
copy_vehicleManagementDB=# select * from t_vehicle_info where id = '6ce99bbc1a464b929da3aa5ec853659b';
-[ RECORD 1 ]------------+---------------------------------
id | 6ce99bbc1a464b929da3aa5ec853659b
module_code | basicSettings
dept_id | cf6b8f69c0074ea09f4c290d9a6572de
vehicle_number | 京M66666
vehicle_brand | VOLVO
vehicle_model | XC60
vehicle_type | SUV
acquisition_date | 2023-04-14 00:00:00
purchase_price | 419856
production_date | 2022-05-30 00:00:00
vin_no | JCA145692011134
engine_no | 123456
vehicle_load | 15
vehicle_seats | 5
fuel_economy | 8
air_displacement |
initial_mileage |
current_mileage | 29875
vehicle_status | 可用
gasoline_type | 95#汽油
gasoline_card |
insurance_company | 太平洋保险
insurance_period | 2025-05-01 00:00:00
last_maintenance_mileage | 18745
maintenance_period | 2025-05-03 00:00:00
maintenance_mileage | 10000
vehicle_photo | a9d33e72ed4c40a3b3695e692b2e367a
relevant_documents |
create_time | 2024-05-29 20:56:04
总结
本节内容概要性介绍了如何搭建 KES Plus 低代码开发平台,并基于该平台构建、调试开发项目。
篇幅有限,还有诸多课题本节内容未能介绍,比如 KES Plus Server 的设计模型,VSCode 插件与开发平台协调作业,如何借助平台为开发团队赋能等。
本文由 mdnice 多平台发布