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

手把手教你用IntelliJ IDEA 操作 DM8

image

前言

  随着科技的发展和全球数字化的推进,数据库已经成为企业和组织运作的核心组件之一。DM 数据库是一款国产的关系型数据库管理系统,因其高性能和稳定性而被广泛应用于政府、金融等多个领域。DM 官方工具用起来怪怪的,总觉得不方便,可能官方的东西都不咋地。为了提高效率和管理能力,众多开发者和IT专业人士选择了 IntelliJ IDEA 这款强大的集成开发环境(IDE)来进行数据库操作。本文将重点介绍如何使用IntelliJ IDEA进行 DM 数据库操作,帮助您更高效地进行项目开发和数据管理。

IDEA 创建DM 连接

创建数据连接驱动

  IntelliJ IDEA 的数据库插件非常优秀,但是它并没有 DM 的驱动连接配置,这时候就要使用 IntelliJ IDEA 自带的自定义驱动程序,定义 DM 数据库驱动。安装下面步骤,一步步设置即可。

  1. 从顶部菜单栏选择 View --> Tool Windows --> Database 来打开数据库工具窗口,如下图所示。
    image2. 在数据库工具窗口内,点击右上角的 + 图标,然后选择 Driver 来开始创建一个新的达梦数据库连接,如下图所示。

    image

  2. 编辑驱动信息,添加 DM 数据库连接驱动包,如下图所示。
    image

    • 1️⃣️️:设置驱动名称,我这里命名为DM8。
    • 3️⃣️:这里不用配置,设置驱动类,这里设置完 2️⃣️ 后会自动出现。
    • 2️⃣️:这里选择本地下载或者本地maven仓库中对应数据库的驱动jar包,这里是达梦驱动包,
    • 4️⃣️:这个是生成数据库连接配置UI的配置,我这里是 jdbc:dm://{host::localhost}?[:{port::5236}][/{database}?][\?<&,user={user},password={password},{:identifier}={:param}>]
  3. 设置数据库方言,这里选择Oracle的方言
    image

连接数据库

  在 IntelliJ IDEA 中连接数据库是进行操作的第一步。首先,启动IDE并选择“Database”窗口。在该窗口中,点击“+”号,选择“Data Source”,然后选择您所使用的数据库类型,DataSource驱动就选用我们刚刚新增的达梦驱动。
image

  接下来,填写连接所需的用户名、密码、URL等信息。

image

  点击 “Test Connection” 按钮,测试数据库连接是否成功。如果一切正常,点击 “OK” 完成数据库连接配置。配置完成后,你可以在 IntelliJ IDEA 的数据库工具窗口中查看和管理达梦数据库的表、数据等信息,并在开发过程中使用数据库连接进行开发和调试操作。
image

数据库基本操作

管理表结构

  在IntelliJ IDEA中,可以轻松地管理数据库的表结构。首先,选择要操作的数据库并右键点击,选择“New” > “Table”,然后输入表的名称。接下来,根据需求添加表字段。在字段添加完成后,点击“OK”按钮即可创建表。此外,还可以通过右键点击表并选择“Modify Table”来修改表结构。

导入数据

  使用IntelliJ IDEA可以方便地导入数据到数据库中。首先,选择要导入数据的数据库并右键点击,选择“New” > “Data Source”,然后选择数据源类型。在数据源连接设置完成后,可以选择要导入的数据并设置相关参数。最后,点击“OK”按钮即可完成数据导入。

查询数据

  IntelliJ IDEA提供了强大的查询功能,帮助我们轻松地查询数据库中的数据。在“Database”窗口中,可以输入SQL语句并执行查询。此外,还可以使用工具栏上的快捷键进行查询和过滤数据。对于复杂的查询需求,IntelliJ IDEA还提供了代码提示和语法高亮等功能来提高查询效率。

导出数据

  导出数据是数据管理的重要环节之一。IntelliJ IDEA提供了导出功能来满足我们的需求。首先,选择要导出的数据库并右键点击,选择“Export Data to File”,然后选择导出文件的格式和路径。接下来,根据需求设置导出参数并点击“OK”按钮即可完成数据导出。

附录

DM 扩展连接属性的使用

  连接串中可以设置的属性及其说明见下表。

属性说明是否必须设置
user登录用户
password登录密码
host主库地址,包括 IP 地址、localhost 或者配置文件中主库地址
port端口号,服务器登录端口号
appName客户端应用程序名称
osName操作系统名称
socketTimeout网络通信链路超时时间,单位毫秒。
有效值范围0~2147483647,0 表示无限制;默认 0
sessionTimeout会话超时时间,单位秒。
有效值范围 0~2147483647,0 表示无限制;默认 0;
connectTimeout连接数据库超时时间,单位毫秒。
有效值范围 0~2147483647,0 表示无限制;默认 0;
StmtPoolSize语句句柄池大小。有效值范围 0~2147483647,0 表示关闭;默认 15;
PStmtPoolSize prepare语句句柄池大小。有效值范围 0~2147483647,0 表示关闭;默认 0;
pstmtPoolValidTime prepare语句缓存的有效时间;单位毫秒。
有效值范围 0~2147483647,0 表示无限制;默认 0;
escapeProcess是否进行语法转义处理。取值 1/0 或 true/false;默认 true;
autoCommit是否自动提交。取值 1/0 或 true/false;默认 true;
alwayseAllowCommit在自动提交开关打开时,是否允许手动提交回滚。取值1/0 或true/false;默认 true;
localTimezone指定客户端本地时区,相关时间类型会自动完成服务器与本地时区的转换,单位分钟。
有效值范围-720~720;默认为当前系统时区;
maxRows结果集行数限制,超过上限结果集截断。
有效值范围0~2147483647,0 表示无限制;默认 0;
bufPrefetch结果集 fetch 预取消息 buffer 大小,单位 KB,有效值范围32~65535。
默认 0 表示按服务器配置,若结果集上指定了fetchSize 会自动预估大小;
LobMode大字段数据获取模式,默认 1。
1 表示 get 数据时从服务器段获取,2 表示结果集生成时将大字段数据完整缓存到本地;;
ignoreCase结果集列名是否忽略大小写。取值 1/0 或 true/false;默认true;
continueBatchOnError批量执行出错时是否继续执行。默认 false;取值(true/True,false/False)
batchType批处理模式,默认 1。1 表示批量绑定执行 2 表示一行一行执行;
resultSetType指定默认创建结果集类型,取值为 java 标准中的ResultSet。
dbmdChkPrv编目函数是否进行权限检测。取值 1/0 或 true/false;默认true;
isBdtaRS是否使用列模式结果集,需同步服务器开启该功能。取值 1/0 或 true/false;默认 true;
columnNameUpperCase列名转换为大写字母。取值 1/0 或 true/false,默认 false。
compatibleMode兼容其他数据库,取值为数据库名称。oracle 表示兼容 oracle,mysql 表示兼容 mysql;
schema指定用户登录后的当前模式,默认为用户名的默认模式
loginMode指定优先登录的服务器模式,默认 4。
0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANTBY 模式;
1:只连接主库;2:只连接备库;
3:优先连接 STANDBY 模式的库,PRIMARY 模式次之,最后选择 NORMAL 模式;
4:优先连接 NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY 模式;
loginStatus服务名方式连接数据库时只选择状态匹配的库,默认 0。
0 表示不限制;3 表示 mount 状态;4 表示 open 状态;5 表示 suspend 状态;
loginDscCtrl服务名连接数据库时只选择 dsc control 节点的库;取值 1/0 或 true/false;默认 false;
epSelector服务名连接数据库时采用何种模型建立连接,默认 0。
0 表示依次选取列表中的不同节点建立连接,使得所有连接均匀地分布在各个节点上;
1 表示选择列表中最前面的节点建立连接,只有当前节点无法建立连接时才会选择下一个节点进行连接
switchTimes服务名连接数据库时,若未找到符合条件的库成功建立连接,将尝试遍历服务名中库列表的次数。
有效值范围1~2147483647,默认 1;
switchInterval服务名连接数据库时,若未找到符合条件的库成功建立连接,等待一定时间再继续下一次遍历。
单位 ms,有效值范围 0~2147483647;默认 1000;
cluster配合 auto_reconnect=2、epselector=1 使用,用于检测 DSC 集群节点故障恢复是否成功。
取值:DSC,说明用于DSC 环境中;
dbAliveCheckFreq检测数据库是否存活的频率。单位 ms,有效值范围0~2147483647,0 表示不检测;默认 0;
compress是否压缩消息。0 表示不压缩;1 表示完全压缩;2 表示优化的压缩;默认 0;
compressID消息压缩算法标识,最终与服务器支持情况协商决定。
0 表 示 zip;1 表示 snappy; 默认 0;
sslFilesPath数据库端开启 ssl 通信加密,该参数指定 ssl 加密文件的路径
sslKeystorePass数据库端开启 ssl 通信加密,该参数指定 ssl 加密文件的指令
uKeyNameUkey 的用户名
uKeyPinUkey 的口令
cipherPath第三方加密算法引擎所在路径
OsAuthType指定操作系统认证用户类型,开启操作系统认证时,用户名使用系统用户名。
0 表示关闭;1 表示 DBA;2 表示 SSO; 3 表示 AUDITOR;4 表示自适应。默认 0
loginEncrypt是否进行通信加密;取值 1/0 或 true/false;默认 true;
loginCertificate该参数用于指定 dmkey 工具生成的公钥文件路径。
非加密通信的情况下,可对登录用户名密码进行增强加密;
mppLocal是否 MPP 本地连接。取值 1/0 或 true/false;默认 false;
mppOptMpp 集群批量插入数据的优化处理;范围 0~1;默认 0;
rwSeparate是否使用读写分离系统,默认 0。
0 表示不启用;1 表示启用;
2 表示启用,备库由客户端进行选择,且只会选择服务名中配置的节点。
rwPercent分发到主库的事务占主备库总事务的百分比;单位%,范围0~100;默认 25;
rwAutoDistribute读写分离系统事务分发是否由 JDBC 自动管理;取值 1/0 或true/false;默认 true;
false:事务分发由用户管理,用户可通过设置连接上的 readOnly 属性标记事务为只读事务;
rwHA是否开启读写分离系统高可用。取值 1/0 或 true/false;默认false;
rwStandbyRecoverTime读写分离系统备库故障恢复检测间隔,单位 ms。
有效值范围 0~2147483647,0 表示不回复;默认 60000
enRsCache是否开启结果集缓存。取值 1/0 或 true/false;默认 false;
rsCacheSize设置结果集缓冲区大小,以 M 为单位。
有效值范围 1~65535,如果设置太大,可能导致空间分配失败,进而使缓存失效
rsRefreshFreq结果集缓存检查更新的频率,以秒为单位。
有效值范围0~10000,如果设置为 0,则不需检查更新;
logDir日志等其他一些 JDBC 过程文件生成目录,默认为 jvm 当前工作目录;
logLevel生成日志的级别,高级别同时记录低级别的信息,默认 off。日志按从低到高依次如下:
off:不记录;error:只记录错误日志;warn:记录警告信息;
sql:记录 sql执行信息;info:记录全部执行信息;all:记录全部
logFlushFreq日志刷盘频率,单位 s。有效值范围 0~2147483647;默认 60;
statEnable是否启用状态监控。取值 1/0 或 true/false;默认 false;
statDir状态监控信息以文本文件形式输出的目录,默认为 jvm 当前工作目录;
statFlushFreq状态监控统计信息写文件刷盘频率,单位 s。
有效值范围0~2147483647;0 表示不写文件;默认 10;
statSlowSqlCount统计慢 sql top 行数;有效值范围 0~1000;默认 100;
statHighFreqSqlCount统计高频 sql top 行数;有效值范围 0~1000;默认 100;
statSqlMaxCount状态监控可以统计不同 sql 的个数;有效值范围 0~100000;默认 100000;
statSqlRemoveMode执行的不同 sql 个数超过 statSqlMaxCount 时使用的淘汰方式,取值 latest/eldest。
latest 表示淘汰最近执行的 sql,eldest表示淘汰最老的 sql;默认 eldest;
dmsvcconf指定 url 属性配置文件所在路径;
dbAliveCheckTimeout检测数据库是否存活的连接超时时间,如果该时间内未连接成功即认为数据库故障,单位 ms。
有效值范围1~2147483647;默认 10000;
check_freq服务名连接数据库时,循环检测连接是否需要重置的时间间隔。
即每隔一段时间,当连接对象发生改变,JDBC 连接会自动重置到新对象。
单位 ms,有效值范围 0~2147483647。默认值300000

总结

  总之,使用IntelliJ IDEA进行数据库操作可以大大提高开发者和IT专业人士的工作效率和管理能力。通过本文的介绍,您已经了解了如何使用IDEA进行数据库操作的基本步骤。在实际应用中,您还可以不断探索和学习更多高级功能来满足不断变化的需求。希望本文能对您有所帮助!

image


http://www.mrgr.cn/news/64822.html

相关文章:

  • Vue3 keep-alive核心源码的解析
  • SpringBoot在线教育系统:安全与维护
  • java脚手架系列13-IoT
  • css实现边框双色凹凸半圆
  • 网络编程入门
  • k8s按需创建 PV和创建与使用 PVC
  • ! [remote rejected] master -> master (pre-receive hook declined)
  • YOLOv6-4.0部分代码阅读笔记-ema.py
  • 2024年一带一路金砖技能大赛之大数据容器云开发
  • Win10 连接到 Ubuntu 黑屏无法连接 使用Rustdesk显示 No Displays 没有显示器
  • GOF的C++软件设计模式的分类和模式名称
  • 数据结构初阶排序全解
  • 力扣周赛:第422场周赛
  • roberta融合模型创新中文新闻文本标题分类
  • 优青博导团队/免费指导/一站式服务/数据分析/实验设计/论文润色/组学技术服务 、表观组分析、互作组分析、遗传转化实验、单细胞检测与生物医学
  • ctfshow——web(总结持续更新)
  • 将分类标签转换为模型可以处理的数值格式
  • 计算机网络串联——打开网站的具体步骤
  • Linux 进程间通信 共享内存_消息队列_信号量
  • 提高交换网络可靠性之端口安全配置
  • windows rdp 将远程技术嵌入到你的软件——未来之窗行业应用跨平台架构
  • 第四次:2024年郑州马拉松赛事记
  • 什么是三大范式, 为什么要有三大范式, 什么场景下不用遵循三大范式
  • 《GBDT 算法的原理推导》 11-15更新决策树的叶子节点值 公式解析
  • Linux内核编程(十八)ADC驱动
  • 深入解析RSA算法:加密与安全性