DM数据库 docker 安装使用 spring boot + mybatis-plus集成

docker 知退 2年前 (2022-12-13) 2162次浏览 0个评论 扫描二维码
文章目录[隐藏]

1、dm 数据库 docker安装

官方文档地址:Docker 安装 | 达梦技术文档 (dameng.com)

开发者版本有一年试用权限

  • 上诉官方地址下载对应版本docker 镜像
  • 上传服务器
  • 导入镜像docker load -i dm8_20220822_rev166351_x86_rh6_64_ctm.tar
  • 启动 docker run -d -p 5236:5236 –restart=always –name dm8_01 –privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=dm8_01 -v /data/dm8_01:/opt/dmdbms/data dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4

2、下载官方工具,以及idea配置dm数据库连接,以便插件自动生成代码

 2.1 数据库新建,迁移

产品下载 | 达梦数据库 (dameng.com)

不需要安装,在下载得安装包目录 \source\tool 中找到 dts.exe(数据库迁移工具,包含当前主流数据库迁移至达梦,以及其他导入方式)、manager.exe(数据库管理工具,可视化界面)

  1. 打开manager.exe 输入ip和口令连接(使用docker安装,官方文档底部包含用户名和密码)
  2. 表空间->右键表空间选择新建表空间,需要填写文件路径,可以参考 SYSTEM 表空间或者自定义
  3. 用户->管理用户->右键选择新建用户;输入用户名(最好大写),密码,选择刚刚创建得表空间即可
  4. 点击所属角色选择对应角色权限
  5. 点击系统权限 在 SYSDBA 用户权限下新建用户 带ANY 关键字 CREATE DROP DELETE ALTER 全部取消,不然创建用户时会报错,确定既可创建用户
  6. 模式->右键模式,输入模式名(最好与用户名相同),模式拥有者选择刚刚创建用户既可
  7. 打开dts.exe
  8. 在迁移管理处空白处 右键新建工程输入工程名
  9. 点击刚刚新建得工程 右键迁移选择新建迁移,输入迁移名称
  10. 迁移管理右边会出现一个迁移管理,点击下一步
  11. 从下面列表选择一个迁移方式既可,点击下一步
  12. 输入连接ip 端口 用户 密码 数据库(此处可以指定驱动jar),点击下一步
  13. 输入dm数据库连接ip 端口 用户名 密码(此处可以指定驱动jar),点击下一步
  14. 源模式选择数据库名,目的模式选择刚刚新建得模式名称即可,点击下一步即可,完成迁移
  15. 迁移数据,也可以试用数据迁移等等

2.2 idea 配置dm连接

驱动包需要去官网下载,自行在官网查找即可

  1. idea 添加dm数据库驱动
  2. 添加驱动文件名称,指定驱动class
  3. 连接dm数据库,选择刚刚创建驱动名称
  4. 建立数据库连接,输入ip、用户名、密码即可
  5. 上诉连接成功即可 像MySQL一样刷新,生成代码

3、Spring boot + mybatis-plus + dm 集成

注意:

  1. 如果建立连接使用得用户拥有多个模式,编写sql最好带上模式名称 例:RES2000STANDARD_TEST.B_PARAMETER,当前用户如果只拥有单个模式,可以忽略,不然会报错找不到表或者视图;
  2. 表名称不要使用小写,执行sql时,dm会默认将小写名称表名转大写,如果一定要使用小写,在xml sql 或者 实体类 将表名用双引号包括 例:@TableName(“DIC.\”app_info\””)

集成示例:

  1. 依赖,可以直接使用当前驱动版本(每个驱动可能有坑,当前这个版本,经过测试,分页,查询,更新,删除,事务都没有问题,可能会有其他坑,可以查看官方文档)
  2. 数据库连接配置
  3. xml
  4. entity
  5. mapper
  6. service
  7. controller

总结:上诉测试了,mybatis-plus 分页,lambada 查询,插入,事务,更新等,都是支持,DMSQL是dm对标准sql语言的扩展,是一种过程话sql语言,所以标准sql支持,但是部分函数可能会有所区别需要注意

喜欢 (33)
[支付宝扫码,感谢支持]
分享 (0)
关于作者:
一个很懒的人

您必须 登录 才能发表评论!