掘金 后端 ( ) • 2024-04-19 16:34

因为项目要求,需要使用信创软件,项目最终选择了达梦做为数据库软件。此文章介绍了在springboot和MyBatis-Plus环境中整合达梦数据库进行使用。

1、达梦数据库安装

在官网可以很容易的找到详细的安装方法。达梦作为国产数据库软件,提供了很多配套软件使用。其中包含服务器、客户端、驱动、用户手册、数据库服务等组件。按照官网说明选择安装即可。

2、达梦数据库介绍

安装好软件之后,变可以按照官方指导创建并配置DM数据库。创建好数据库后可以对齐进行开启或者关闭操作。创建好的数据库,会自动创建4个管理员账号,包含数据库管理员、数据库安全员、数据库审计员和数据库对象操作员。目的是为了将不同权限分配给不同人员,保证数据库的安全。 可以使用数据库管理员创建用户,分配给开发人员使用。DM数据库中有 模式 的概念。在使用SYSDBA(数据库管理员)新建用户时,会默认分配一个与用户名同名的模式。当前用户便可以在该模式下进行表的操作。

1713505034225.jpg

3、MyBatis-Plus整合DM数据库

可以在本地的安装目录 dmdbms8/drivers/jdbc 下找到对应的驱动包 DmJdbcDriver18.jar,复制到项目的lib目录,再加入到maven依赖中。此处也可参照官方 jdbc 驱动手册 readme.txt 中的说明。readme.txt 存放在数据库安装目录下的 /drivers/ jdbc 目录下。DmJdbcDriver16.jar 对应 JDK6, DmJdbcDriver17.jar 对应 JDK7 , DmJdbcDriver18.jar 对应 JDK8 ,请根据开发环境选择合适的 DM JDBC 驱动包。官方文档也有mybaits-plus接入的流程。

  • 依赖
<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>

    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.8.12</version>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.5</version>
    </dependency>
    
    <!--添加数据库驱动安装包-->
    <dependency>
        <groupId>com.dameng</groupId>
        <artifactId>Dm8JdbcDriver18</artifactId>
        <version>8.1.1.193</version>
    </dependency>

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.5.5</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
    <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.32</version>
    </dependency>

</dependencies>
  • yml配置
spring:
  application:
    name: dmDemo

  datasource:
    driver-class-name: dm.jdbc.driver.DmDriver
    username: TEST_USER
    password: 12345678aa
    url: jdbc:dm://localhost:5236

mybatis-plus:
  mapper-locations: classpath*:xml/*.xml
  configuration:
    map-underscore-to-camel-case: false

其中驱动为dm.jdbc.driver.DmDriver。url为jdbc:dm://localhost:5236,

  • 代码
@Mapper
public interface UserinfoMapper extends BaseMapper<Userinfo> {
    
}

注意

  • 在创建数据库实例时,最好把大小写敏感关了,不然mybaits-plus查询的时候会大写,导致找不到当前表。此处的大小写是全局的,包括表名、字段名以及字段值。

1713507697705.jpg

  • 因为DM数据库也有实例的概念,orcale数据库在使用jdbc链接的时候,url需要指定实例名称 jdbc:oracle:thin:@127.0.0.1:1521/test。其中test是实例名。但是dm数据库在设置jdbc的url时,并没有指定实例名,于是尝试本地再创建一个实例时,发现一个端口只能创建一个实例。所以只要端口区分了,无需指定实例名字。但是模式名字好像是可以指定的jdbc:dm://localhost:5236?schema=TEST_USER。

记录学习,仅供参考