达梦数据库的搭建和 SpringBoot连接数据库

目前很多项目都采用国产数据库,虽然国产数据库很多,但是我接触过的项目中使用较多的主要是达梦数据库。
本篇博客简单介绍达梦8数据库单机版部署以及 SpringBoot 对其进行增删改查操作,方便后续项目需要时快速搞定。
我的 CentOS7 虚拟机 ip 地址是 192.168.1.128,已经安装了 docker 和 docker-compose
一、达梦数据库快速部署
官网上使用 docker 部署的文档地址:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html
该文档地址上有达梦数据库最新 docker 镜像的下载地址,自己下载即可。
我下载的官网 docker 镜像文件是:dm8_20241022_x86_rh6_64_single.tar
首先将 dm8_20241022_x86_rh6_64_single.tar 上传到虚拟机,运行 docker load -i dm8_20241022_x86_rh6_64_single.tar 导入镜像,然后使用 docker images 查看镜像导入的结果:
图片[1] - 达梦数据库的搭建和 SpringBoot连接数据库 - 宋马
在虚拟机上创建目录 mkdir -p /data/dm8/data ,在 dm8 目录下放置一个 docker-compose.yml 文件,具体结构如下:图片[2] - 达梦数据库的搭建和 SpringBoot连接数据库 - 宋马
新增docker-compose.yml 文件内容如下:

version: "3.2"
services:
  dm8:
    container_name: dm8
    image: dm8_single:dm8_20241022_rev244896_x86_rh6_64
    privileged: true
    restart: always
    ports:
      - "5236:5236"
    environment:
      # 动态链接库地址
      - LD_LIBRARY_PATH=/opt/dmdbms/bin
      # 设置字符集为UTF-8
      - UNICODE_FLAG=1
      # 表名和字段名大小写是否敏感,1 是 0 否,建议设置为 0
      - CASE_SENSITIVE=0
      # 初始化数据库实例的名字
      - INSTANCE_NAME=dm8server
      # 管理员密码设置(docker版本达梦库不支持特殊字符,密码至少8位)
      - SYSDBA_PWD=JobsDM888
    volumes:
      # 数据存放目录
      - ./data:/opt/dmdbms/data
      - /etc/localtime:/etc/localtime

最后在 docker-compose.yml 文件所在目录,运行 docker-compose up -d 即可启动达梦数据库服务。
二、使用达梦客户端连接数据库
在达梦官网上下载一个 windows 版本的达梦安装包,比如下载开发版 (X86平台)的安装包,我下载的文件名称为 dm8_20241011_x86_win_64.iso
解压缩后进行安装,到下图的界面时,在下拉列表中选择【客户端安装】即可,因为我们没必要再把数据库服务在 windows 上进行安装。
图片[3] - 达梦数据库的搭建和 SpringBoot连接数据库 - 宋马
客户端安装完毕后,启动【DM安装工具】即可,填写上 docker 安装的达梦数据库的 ip 端口等信息,然后连接即可。
三、使用 SpringBoot 连接数据库
新建一个名称为 springboot_dameng 的 SpringBoot 工程,结果如下图所示:
图片[4] - 达梦数据库的搭建和 SpringBoot连接数据库 - 宋马
首先查看一下 pom 文件引用的依赖包,要想访问达梦数据库,主要引用的是 DmJdbcDriver18 这个依赖包。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>com.jobs</groupId>
    <artifactId>springboot_dameng</artifactId>
    <version>1.0</version>
 
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
 
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
    </parent>
 
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <scope>compile</scope>
        </dependency>
        <!--引入达梦数据库连接依赖包-->
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>8.1.3.140</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.20</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.4.5</version>
            </plugin>
        </plugins>
    </build>
</project>

然后查看一下 application.yml 配置文件的内容:

server:
  port: 9090
spring:
  datasource:
    driver-class-name: dm.jdbc.driver.DmDriver
    url: jdbc:dm://192.168.1.128:5236
    username: username
    password: password
mybatis-plus:
  configuration:
    # 打印出 sql 语句,方便开发时进行查看。生产环境不要开启此项配置
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

为了能够实现分页查询,我们需要对 mybatis plus 进行一下分页配置:

package com.jobs.config;
 
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor getMybatisPlusInterceptor() {
        MybatisPlusInterceptor mpi = new MybatisPlusInterceptor();
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
        //分页的数据库类型,设置为达梦
        paginationInnerInterceptor.setDbType(DbType.DM);
        mpi.addInnerInterceptor(paginationInnerInterceptor);
        return mpi;
    }
}
© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容