大金仓数据库:kingbase学习

news2024/12/28 10:29:13

kingbase学习

  • 1.简介
  • 2. 安装
  • 3. 基础使用
    • 3.1 客户端连接
    • 3.2 表数据测试
      • 3.2.1 建表
        • 创建字段备注
      • 3.2.2 数据写入测试
      • 3.2.2 查询测试
        • json查询测试
  • 4.springboot实战
    • 4.1 maven依赖
    • 4.2 连接配置
    • 4.3 mybatis-plus测试
    • 4.4 liquibase整合
      • (1). 使用pg方式替换kingbase驱动上面
      • (2). 修改jdbc url配置
  • 参考文档

1.简介

官网: https://www.kingbase.com.cn/

2. 安装

TODO 补充 docker安装

3. 基础使用

3.1 客户端连接

使用idea自带database查询

3.2 表数据测试

3.2.1 建表

创建从10000开启自增id的用户表,username增加唯一索引

CREATE TABLE account(
    id          BIGINT      NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 10000),
    username    VARCHAR(32) NOT NULL,
    password    VARCHAR(32)  DEFAULT NULL,
    name        VARCHAR(20)  DEFAULT NULL,
    sex         CHAR(1)      DEFAULT NULL,
    phone       VARCHAR(100) DEFAULT NULL,
    email       VARCHAR(100) DEFAULT NULL,
    create_time TIMESTAMP    DEFAULT NULL,
    update_time TIMESTAMP    DEFAULT NULL,
    extend_json JSON         DEFAULT NULL,
    PRIMARY KEY (id),
    UNIQUE (username)
);
创建字段备注

TODO

3.2.2 数据写入测试

-- 插入第一行数据
INSERT INTO account (username, password, name, sex, phone, email, create_time, update_time, extend_json)
VALUES ('user1', 'pass1', 'John Doe', 'M', '123456789', 'user1@example.com', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '{"key": "value1"}');

-- 插入第二行数据
INSERT INTO account (username, password, name, sex, phone, email, create_time, update_time, extend_json)
VALUES ('user2', 'pass2', 'Jane Doe', 'F', '987654321', 'user2@example.com', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '{"key": "value2"}');

-- 插入第三行数据
INSERT INTO account (username, password, name, sex, phone, email, create_time, update_time, extend_json)
VALUES ('user3', 'pass3', 'Bob Smith', 'M', '555555555', 'user3@example.com', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, '{"key": "value3"}');


INSERT INTO account (username, password, name, sex, phone, email, create_time, update_time, extend_json)
VALUES
('user4', 'pass1', 'John Doe', 'M', '123456789', 'user1@example.com', '2022-01-01 10:00:00', '2022-01-01 10:00:00', '{"key": "value1"}'),
('user5', 'pass2', 'Jane Doe', 'F', '987654321', 'user2@example.com', '2022-01-01 11:00:00', '2022-01-01 11:00:00', '{"key": "value2"}'),
('user6', 'pass3', 'Bob Smith', 'M', '555555555', 'user3@example.com', '2022-01-01 12:00:00', '2022-01-01 12:00:00', '{"key": "value3"}');

3.2.2 查询测试

json查询测试

json指定key查询

SELECT * FROM account WHERE extend_json ->> 'address' LIKE '%吕街28号%';

SELECT * FROM account WHERE extend_json ->> 'address' = 'Suite 231 吕街28号, 包头, 藏 351579';

4.springboot实战

使用依赖版本:

<spring-boot.version>2.3.2.RELEASE</spring-boot.version>

4.1 maven依赖

        <!--人大金仓数据库驱动-->
        <dependency>
            <groupId>cn.com.kingbase</groupId>
            <artifactId>kingbase8</artifactId>
            <version>8.6.0</version>
        </dependency>

4.2 连接配置

application.yml补充kingbase连接

spring:
  datasource:
    driver-class-name: dm.jdbc.driver.DmDriver
    url: jdbc:kingbase8://192.168.8.33:54321/testdb
    username: system
    password: kingbase

4.3 mybatis-plus测试

TODO

4.4 liquibase整合

liquibase基本不支持国产数据库,但是kingbase借助切换pg的驱动可以间接实现
在这里插入图片描述

(1). 使用pg方式替换kingbase驱动上面

        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>

(2). 修改jdbc url配置

spring:
  datasource:
    #driver-class-name: dm.jdbc.driver.DmDriver
    #url: jdbc:kingbase8://192.168.8.33:54321/testdb
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://192.168.8.33:54321/testdb
    username: system
    password: kingbase

参考文档

  1. 官网文档:4. Liquibase注意点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1247615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

互联网+智慧工地系统源码

智慧工地以施工现场风险预知和联动预控为目标&#xff0c;将智能AI、传感技术、人像识别、监控、虚拟现实、物联网、5G、大数据、互联网等新一代科技信息技术植入到建筑、机械、人员穿戴设施、场地进出关口等各类设备中&#xff0c;实现工程管理与工程施工现场的整合&#xff0…

软著项目推荐 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

freeRTOS下载链接(sourceForge)

FreeRTOS Real Time Kernel (RTOS) download | SourceForge.net 文件名&#xff1a;FreeRTOSv202212.00.exe 双击后会自动变成这个样子的&#xff1a; 文件夹大小&#xff1a;506M 可以看到跟那个教程里面的文件结构是一模一样的&#xff0c;所以很可能是同一个最新版本的文件…

Android Tombstone 与Debuggerd 原理浅谈

一、前言 Android系统类问题主要有stability、performance、power、security。Android集成一个守护进程tombstoned是android平台的一个守护进程&#xff0c;它注册成3个socket服务端&#xff0c;客户端封装在crash_dump和debuggerd_client。 crash_dump用于跟踪定位C crash&am…

Gen-2重磅发布“运动画笔”,可制作视频连环画啦!

著名生成式AI平台Runway在官网宣布&#xff0c;其文生视频产品Gen-2正式发布运动画笔、预设风格、更新导演模式和优化图像模型4个功能。 其中&#xff0c;运动画笔成为本次更新的最大亮点&#xff0c;用户只需要对上传的图片指定区域进行涂抹&#xff0c;就能让生成的视频按照…

使用nginx代理s3服务(私有云存储)

1、背景 公司网络安全原因&#xff0c;私有部署s3服务的机器无法被直接访问&#xff0c;所以需要加一层代理&#xff0c;通过访问代理去访问s3服务器&#xff0c;这里使用nginx进行代理。使用s3服务的方式是在代码中使用官方的java s3 sdk&#xff08;本文对于其他语言的官方s…

输入4个整数,找出其中最大的数。用函数的嵌套调用来处理

目录 1解题思路: 2运行代码&#xff1a; 3运行结果: 4总结&#xff1a; 函数 定义函数 实例 函数声明 调用函数 实例 函数参数 1解题思路: 这个问题并不复杂&#xff0c;完全可以利用一个主函数就可以得到结果。现在根据题目要求&#xff0c;用函数的嵌套调用来处理。…

redis运维(十二) 位图

一 位图 ① 概念 1、说明&#xff1a;位图还是在操作字符串2、位图玩字符串在内存中存储的二进制3、ASCII字符通过映射转化为二进制4、操作的是字符串value ② ASCII字符铺垫 1、控制ASCII字符 2、ASCII可显示字符 ③ SETBIT 细节&#xff1a; setbit 命令的返回值是之…

自求导的方法实现线性回归算法

线性回归是一种常用的回归算法&#xff0c;用于建立输入变量和连续输出变量之间的关系。传统的线性回归算法通常依赖于繁琐的数学推导和梯度计算。但是&#xff0c;随着深度学习的兴起&#xff0c;自求导的方法逐渐成为实现线性回归算法的有效途径。本文将介绍如何使用自求导的…

FreeRTOS-FreeRTOS概述

FreeRTOS FreeRTOS目录结构 移植过程 在工程中创建freertos文件夹&#xff0c;在freertos文件夹中创建src文件夹、inc文件夹、port文件夹。 freertos/src存放源码freertos/inc存放头文件freertos/port存放移植平台的相关文件 复制内存管理文件&#xff1a;复制FreeRTOS/Sourc…

时间复杂度 空间复杂度 ---java

目录 一. 算法效率 二.时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.3常见时间复杂度计算举例 三. 空间复杂度 一. 算法效率 算法效率分析分为两种&#xff1a;第一种是时间效率&#xff0c;第二种是空间效率 。 时间效率被称为时间复杂度&#xff0c;而空间…

post请求参数全大写后台接不到参数

post请求参数全大写后台接不到参数 开发过程中&#xff0c;我们一般都习惯用驼峰命名法&#xff0c;但是特殊情况要求请求参数全大写&#xff08;或者首字母大写&#xff09;&#xff0c;测试验证的时候发现&#xff0c;接收不到请求参数。 前端请求传递&#xff1a; 服务端接…

季报含金量强势推高股价,满帮十年持续拉高数字货运生态天花板

经济活动越发密集&#xff0c;跑在路上的货车和司机们成为最忙碌的角色。11月20日美股盘前&#xff0c;数字货运龙头满帮集团&#xff08;YMM.US&#xff0c;以下简称&#xff1a;满帮&#xff09;发布2023年第三季度财报&#xff0c;其用户规模、业绩数据、履约单量等指标全面…

亚马逊两步验证有哪些验证方法?

亚马逊通常提供多种两步验证的方式&#xff0c;包括短信&#xff08;通过手机接收验证码&#xff09;和认证器应用程序&#xff08;如Google Authenticator、Authy等&#xff09;。选择你偏好的方式。 短信验证&#xff1a; 如果选择短信验证&#xff0c;需要将你的手机号码关联…

《算法通关村——原来这就是堆》

《算法通关村——原来这就是堆》 理解最大堆&#xff1a; 最大堆就是父节点一定比子节点都要大所以就形成了&#xff0c;自然而然根节点就是最大的值了。 如果在最大堆中要插入值得话&#xff0c;那么就需要把值插入到最后&#xff0c;然后一步一步得走上去&#xff0c;也就是…

分布式算法paxos

Paxos算法是什么&#xff1f; Paxos 算法是 基于消息传递 且具有 高效容错特性 的一致性算法&#xff0c;目前公认的解决 分布式一致性问题 最有效的算法之一。 Paxos算法的工作流程&#xff1f; 角色&#xff1a; 在Paxos中有这么几个角色&#xff1a; Proposer&#xff08;提…

Centos7 离线安装 CDH7.1.7

1. 安装CDH的准备工作&#xff08;所有节点都要执行&#xff09; 1.1 准备环境 角色 IP k8s-master 192.168.181.129 k8s-node1 192.168.181.130 k8s-node2 192.168.181.131 1.2 安装JDK # https://www.oracle.com/java/technologies/downloads/#java11 wget rpm -ivh…

知虾官网:探索跨境电商数据的新平台

随着电子商务的快速发展&#xff0c;跨境电商已成为全球贸易的重要组成部分。为了帮助企业更好地了解市场、选品、分析竞争对手和科学运营&#xff0c;知虾官网应运而生。本文将为您介绍知虾官网的功能和优势&#xff0c;以及广州萌啦信息科技有限公司的背景。 一、知虾官网的功…

电源控制系统架构(PCSA)之系统分区电源域

目录 4.2 电源域 4.2.1 电源模式 4.2.2 电源域的选择 4.2.3 系统逻辑 4.2.4 Always-On域 4.2.5 处理器Clusters 4.2.6 CoreSight逻辑 4.2.7 图像处理器 4.2.8 显示处理器 4.2.9 其他功能 4.2.10 电源域层次结构要求 4.2.11 SOC域示例 4.2 电源域 电源域在这里被定…

VScode安装使用DevChat插件

前言 DevChat是一个开源平台,使开发人员能够更有效地将人工智能集成到代码生成和文档中。DevChat的目标是超越简单的代码自动完成和对代码片段的有限操作。DevChat为开发人员提供了一种非常实用和有效的方式来与大型语言模型(llms)进行交互和协作。 一、安装DevChat插件 De…