程序员开发实例大全宝库

网站首页 > 编程文章 正文

[信创]SpringBoot3 JDK17 整合 MyBatis + 达梦DM8(一)

zazugpt 2024-09-09 10:32:09 编程文章 19 ℃ 0 评论

上一篇我们知道了如何创建 DM8 业务数据库,本篇使用 SpringBoot3 + MyBatis 来访问 DM8 数据库。

创建 SpringBoot 项目

这里使用 SpringBoot3JDK要求最低是 JDK17。所以请确保已经正确的安装了 JDK17

JDK17 JDK8 的安装有些细微的区别:jdk1.8 之后的版本在安装时不会自动安装 jre,需要手动安装。注意安装包里是带有 jre 的,只不过没有自动安装。

step0. JDK17

JDK17 安装步骤如下:

  • 下载 x64 Compressed Archive
  • 解压到安装目录 C:\programs\Java(解压之后:C:\programs\Java\jdk-17.0.9),这时目录里面是没有 jre
  • 手动安装 jre
# 执行如下命令进行安装
# 执行之后,目录里面会多出一个 jre 目录
C:\programs\Java\jdk-17.0.9> .\bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
  • 查看版本
# 查看版本信息
C:\programs\Java\jdk-17.0.9> .\bin\java -version
java version "17.0.9" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 17.0.9+11-LTS-201)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+11-LTS-201, mixed mode, sharing)
  • 配置环境变量

step1. IDEA 新建项目

step2. 选择依赖模块

POM.xml 文件依赖如下:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter-test</artifactId>
            <version>3.0.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

step3. 添加 DM8 驱动模块

DM8 提供了3个版本的驱动,可以从 DM8 安装目录中查看到,如下图。

从其中的 readme 文档中看到,JDK1.8及以上环境应该使用 DmJdbcDriver18 这个驱动。

POM.xml 增加如下依赖:

<dependency>
     <groupId>com.dameng</groupId>
    <artifactId>DmJdbcDriver18</artifactId>
    <version>8.1.3.62</version>
</dependency>

step4. 添加 springdoc-openapi 模块

POM.xml 增加如下依赖:

<dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
      <version>2.2.0</version>
</dependency>


step5. 添加 datasource 配置

把项目中的 application.properties 改名为 application.yml,并添加数据源配置。

spring:
  datasource:
    driver-class-name: dm.jdbc.driver.DmDriver
    url: jdbc:dm://192.168.0.121:5236?schema=EXAMPLE&genKeyNameCase=2&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&serverTimezone=Asia/Shanghai
    username: EXAMPLE
    password: 123456789
mybatis:
  configuration:
    mapUnderscoreToCamelCase: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  • 驱动类名:dm.jdbc.driver.DmDriver
  • 连接 url:基本上可以直接从 MySQL 的连接字符串平移过来,略作修改即可
  • genKeyNameCase 取值和含义如下图:
  • username:通常推荐使用业务用户账号,而不是管理账号


step6. 跨域配置

config.java 添加跨域配置

package com.example.dmdemo.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedMethods("GET", "POST")
                .allowedHeaders("*")
                .allowCredentials(true).maxAge(3600);
    }
}


step7. 添加一个 API

实现一个 hello API:

package com.example.dmdemo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("api")
public class HelloController {
    
    @GetMapping("hello")
    public String hello() {
        return "hello world";
    }
}


step8. 运行

编译运行,打开 swagger-ui

成功调用 hello 接口:

至此,完成了项目创建,下一篇介绍如何使用 MyBatis 框架访问 DM8 数据库。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表