当前位置: 首页 > article >正文

金仓 KES Plus 不充会员也好用

关于 电科金仓 的话题之前介绍过,具体请参阅:

  • 人大金仓 更名为 电科金仓
  • 一文带你了解 KING BASE 金仓数据库(入门篇)

话不多说,直奔主题,

本文将介绍 金仓数据库管理系统 KingbaseES Plus v3.1.6 的基础用法,以及实操案例。

KES Plus 平台

金仓快速开发与运维平台(简称:KES Plus)是基于金仓数据库构建的应用快速开发和运维一体化平台。

KES Plus 以金仓数据库为基础,充分利用金仓数据库底层特性和优势,解决传统软件研发的痛点问题,助力软件开发商低门槛、低成本快速构建性能卓越、安全可靠的复杂应用。平台采用前后端分离技术,简化应用开发和部署,增强系统安全性、扩展性和性能,降低开发难度,提升开发效率。同时提供丰富的自动化运维管理工具,实现故障切机、繁忙限流等能力,让用户的运维工作省心省力。

alt

KES Plus 主要特点:三低(低门槛、低成本、低运维)、五高(高可用、高安全、高质量、高性能、高扩展)

KES Plus 面向群体主要为开发者,使用该平台可有效提升 PL/SQL 接口、RESTful 接口的开发效率。

alt

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

alt

开发环境准备

VSCode

VSCode(全称:Visual Studio Code)是一款由微软开发且跨平台的免费源代码编辑器。

该软件支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。 用户可以更改主题和键盘快捷方式实现个性化设置,也可以通过内置的扩展程序商店安装扩展以拓展软件功能。

在 VSCode 的扩展商店里搜索【金仓快速开发与运维平台】,并安装该插件。

安装完成后,可通过该扩展登录到 KES Plus Server。

alt

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 平台上看到相关项目信息。

alt

执行如下命令启动应用。

pnpm run dev

输出:

> @kesplus/template-vite@3.1.6 dev
> kesplus dev

  ➜  Local:   http://localhost:3000/ 

打开浏览器,访问项目主页。登录页已经提示了账号信息,不用再找了。

进入系统,家目录为【工作台】。

alt

可视化页面与库表关系

在 KES Plus 低代码开发平台中,你可以很容易的找到画面和库表的对应关系。

如图所示,在【基础信息设置】的【车辆管理】页面,可以查询到车辆信息。

表单中的信息存储在金仓数据库中 copy_vehicleManagementDB 库的 basicSettings 模式下的 t_vehicle_info 表中。

alt

PL/SQL 开发

在 KES Plus 平台中,业务功能的后端均使用 PL/SQL 进行开发,使得代码更加的简单,易维护。

该项目中,在各个菜单(模块)下,可以看到表、视图、函数、存储过程、包、定时任务、数据服务、菜单定义等分类。

例如,在【基础信息设置】模块下,已创建存储过程 proc_add_vehicle

alt

RESTful 示例

在 KES Plus 中,RESTful 以 JSON 作为数据传输载体,是后端数据库对象与前端之间的交互接口。

开发者需要将已创建的视图、函数、存储过程等发布为 RESTful 接口,提供给前端调用。RESTful 接口将前端的 JSON 数据作为参数,传入 PL/SQL,在数据库内部执行 PL/SQL,然后直接将 JSON 数据返回给前端,从而完成一次前端请求的调用。

仍以【车辆管理】画面为例,在 VSCode 中可以看到已经创建如下几个 RESTful 服务。

alt

使用 Postman 扩展测试【查看】接口,得到如下结果。

alt

回到 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 多平台发布


http://www.kler.cn/news/290811.html

相关文章:

  • 探索C++编程技巧:计算两个字符串的最长公共子串
  • 计算机工具软件安装攻略:Visual Studio Code下载、安装和使用
  • yolo 3d车辆目标检测(教程+代码)
  • Elasticsearch 中的相关性和得分
  • 工厂模式和策略模式的区别
  • nanogpt怎么进行模型切片,以实现推理过程算力共享,切多头
  • Apache Ignite 在处理大规模数据时有哪些优势和局限性?
  • STM32(F103ZET6)第十九课:FreeRtos的移植和使用
  • 探索Ansible自动化运维:提高效率的关键工具
  • 13.4告警抑制实例
  • 前端相关笔记汇总
  • JMeter 安装使用
  • 【PyTorch][chapter 27][李宏毅深度学习][transformer-2]
  • ARM微处理器编程模型与linux驱动开发
  • PYTHON发送邮件详细流程
  • JS设计模式之“名片设计师” - 工厂方法模式
  • 简述CCS平面线性光源
  • Java的时间复杂度和空间复杂度和常见排序
  • 【vite-plugin-vuetify】自动导入 vuetify 组件和指令
  • 单调栈
  • 缩点专题总结
  • 【HuggingFace Transformers】OpenAIGPTModel源码解析
  • 信息安全威胁
  • 递归算法专题——真正理解递归和正确使用递归力扣实战应用
  • 09-03 周二 ansible部署与使用指南
  • 论文解读 | ACL2024 Outstanding Paper:因果指导的主动学习方法:助力大语言模型自动识别并去除偏见...
  • 仕考网:公务员备考技巧有哪些?
  • 全国大学生数学建模竞赛赛区评阅工作规范(2023年修订稿)
  • MySQL——基础操作(1)
  • 选择服务器机柜租用要注意哪些方面?