java适配达梦数据库

news/2024/7/8 2:38:33

目录

一、数据库安装

二、数据库可视化工具

三、数据迁移

四、工程适配

新增maven依赖

配置文件修改

基于flyway的数据库版本管理

 五、注意事项


一、数据库安装

官方文档:安装前准备 | 达梦技术文档

这里有一个点需要注意,如果你之前的数据库或者说业务系统无需大小写敏感,那么在安装达梦时请勾选该选项,可以避免许多问题。

二、数据库可视化工具

如果你是windows系统,第一步在安装数据库时即可一并安装达梦自带的所有工具,包括迁移工具和数据库可视化工具。达梦目前不支持 mac 系统,但是可视化工具这块可以使用 Datagrip 或 DBeaver 通过增加达梦的数据库驱动以便支持。

三、数据迁移

使用达梦的迁移工具操作即可:从 MySQL 迁移到 DM | 达梦技术文档

本人是从 mysql -> dm,

  • 迁移时若执行失败,可重新执行失败的sql,一般多是由于索引、外键之类引起的;
  • 迁移完成后,需要检查原先有外键的表,是否该外键还存在
  • 如果是大小写敏感,工具生成执行失败的sql可能会有错误,需要把字段改成大写或者加上引号
  • 数据库的函数、触发器、存储过程在进行迁移时同样可能会有问题,需重新检查

四、工程适配

新增maven依赖

工程中增加达梦数据库驱动,如果有使用jpa,需要增加jpa的方言依赖:

        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>8.1.2.141</version>
        </dependency>
 
// 如果有 jpa。可以引入这个:
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmDialect-for-hibernate5.0</artifactId>
            <version>8.1.2.141</version>
        </dependency>

注意这里的版本号,需要和你安装的数据库所使用的驱动保持一致,这里仅代表本文发表时达梦最新的驱动(之前使用了一些老的版本号,出来好多奇奇怪怪的问题困扰了好久)

配置文件修改

新建dm配置文件,主要修改数据源的内容以及jpa方言等等一些特定的修改

spring:
  datasource:
    driver-class-name: dm.jdbc.driver.DmDriver
    url: jdbc:dm://192.168.x.xx:5236?schema=ABC&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
    username: SYSDBA
    password: SYSDBA

 通过schema参数指定达梦的"模式",使得sql语句中不需要模式名.表名就能使用。

jpa配置如下,最下面两行是新加的配置,为了兼容主键生成策略以及指定达梦数据库方言

spring:
  jpa:
    hibernate:
      ddl-auto: none
    show-sql: true
    properties:
      hibernate:
        id:
          new_generator_mappings: false
        dialect: org.hibernate.dialect.DmDialect

基于flyway的数据库版本管理

flyway默认是不支持达梦的,需要扩展,可参考如下源码:flyway-extend: 扩展添加对 Flyway 官方默认不支持的一些数据库的支持。当前支持DM达梦数据库。 - Gitee.com

因为达梦和mysql的ddl不一样,因此需要分别管理:

flyway的location也记得改一下:

 当初始化脚本里涉及数据插入,且这部分数据插入带有自增字段值,那么需要开启一个开关

SET IDENTITY_INSERT 表名 ON;

insert 语句...

SET IDENTITY_INSERT 表名 OFF;

 五、注意事项

  1. 有很多达梦的关键字可能不能用,即关键词范围比mysql的大且严,需要花时间去验证
  2. 外键、索引、函数、存储过程、触发器等都需要特别注意
  3. int 类型在达梦不能设置精度
  4. 没有uuid等方法
  5. 使用自增主键的话,需要开启一个开关

http://lihuaxi.xjx100.cn/news/1275449.html

相关文章

中国人民大学与加拿大女王大学金融硕士——在职读研让能力加速提升

不管你是初入职场的小白&#xff0c;还是久经沙场的元老&#xff0c;想要在职场有所作为&#xff0c;就不要忽略自我能力提升。决定一个人当前职场价值不是他拥有了什么&#xff0c;而是他将来能够创造什么。如果你只盯着工作&#xff0c;那么你的眼界和薪资将会被工作所决定&a…

【数据可视化】大作业(意向考研高校的数据可视化)

文章目录 前言一、数据介绍1.1 基本信息1.2 考研信息1.3 导师信息 二、预处理及分析2.1 数据预处理2.1.1 考研信息预处理2.1.2 导师信息预处理 2.2 数据分析 三、可视化方法及结果3.1 可视化方法3.2 可视化结果展示3.2.1 基本信息3.2.2 考研信息3.2.3 导师信息 四、总结五、附录…

三个数据恢复方法解决移动硬盘数据丢失问题!

移动硬盘容量大、写入和读取速度快&#xff0c;受到很多人的欢迎。但是&#xff0c;无论数据存储在何处&#xff0c;都有数据丢失的风险。今天&#xff0c;小编来介绍一下移动硬盘数据恢复的方法&#xff0c;以免大家不慎删除移动硬盘数据而陷入无助的境地! 方法1.使用命令恢复…

Idea快捷键设置(Idea快捷键大全)

目录 友情提醒第一章、IDEA常用快捷键1.1&#xff09;快捷键&#xff1a;查找/提示类1.2&#xff09;快捷键&#xff1a;修改代码类1.3&#xff09;快捷键&#xff1a;光标移动类 第二章、如何修改快捷键2.1&#xff09;修改快捷键的方法2.2&#xff09;我修改的快捷键&#xf…

中国葡萄酒 当惊世界殊 宁夏贺兰山东麓葡萄酒亮相首都地铁

近日&#xff0c;宁夏贺兰山东麓葡萄酒以“中国葡萄酒 当惊世界殊、中国酒庄酒 天赋贺兰山”为宣传主题的宁夏贺兰山东麓葡萄酒宣传专列&#xff08;列车车号&#xff1a;01055&#xff09;亮相北京地铁1号线。该专列将从4月7日至7月6日持续开行3个月&#xff0c;平均每天往返穿…

为什么你的手机号需要二次实名,这几个原因你想过没有?

尊敬的客户&#xff1a;您的手机卡存在安全风险&#xff0c;为保护您的权益&#xff0c;您的电话呼出、短信和流量使用功能被限制。请机主本人使用被保护的手机号码登录网页链接 进行实名核验&#xff0c;核验通过后&#xff0c;将自动恢复正常通信服务。如核验未通过&#xff…

DEV-C++安装OpenGL详细教程

Dev C配置OpenGL环境——计算机图形学 一、首先自行下载dev-c 二、以下过程请认真阅读~ 确保你的C:\Windows\System32与C:\Windows\SysWOW64中有上述链接中的.dll文件(即&#xff1a;glut.dll,glut32.dll)确保你的~\Dev-CPP\MinGW64\x86_64-w64-mingw32\lib中有上述链接中的…

BeautifulSoup简单用法

文章目录 1、BeautifulSoup简介2、BeautifulSoup安装3、BeautifulSoup简单使用4、遍历文档树5、搜索文档树5.1 find_all()5.2 find()5.3 五种过滤器 1、BeautifulSoup简介 Beautiful Soup 提供一些简单的、python 式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱…