springboot使用达梦数据库(DM8)整合MybatisPlus

这篇具有很好参考价值的文章主要介绍了springboot使用达梦数据库(DM8)整合MybatisPlus。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

标题springboot使用达梦数据库(DM8)整合MybatisPlus

一、目的:

在idea中开发spring boot项目,用到的数据库是达梦数据库,想要使用 MybatisPlus 自动生成实体类和服务,并且通过 MybatisPlus 完成一些简单的数据库CRUD

二、配置:

ps:这里的 MybatisPlus 版本必须要是3.0以上

2.1、pom

<!-- 添加数据库驱动安装包(达梦) -->
<dependency>
    <groupId>dm.jdbc</groupId>
    <artifactId>DmJdbcDriver18</artifactId>
    <version>1.8</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/DmJdbcDriver18.jar</systemPath>
</dependency>

<!-- mybatis-plus的依赖 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.2</version>
</dependency>

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

ps:其中需要将达梦数据库的依赖添加到指定目录下,不然达梦的依赖无法生效。至于该 jar包 的位置在达梦数据库安装的文件目录中可以找到

达梦数据库支持mybatisplus吗,spring boot,数据库

位置参考:
达梦数据库支持mybatisplus吗,spring boot,数据库

2.2、逆向工程工具类

package com.xxxx;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
import com.baomidou.mybatisplus.generator.fill.Column;
import org.junit.jupiter.api.Test;

/**
 * @className: MybatisPlusGeneraotr
 * @description: mybatis plus代码生成器
 **/
public class MybatisPlusGeneraotr {

    @Test
    void mybatisPlusGenerator() {
        FastAutoGenerator
                // 数据源配置
                .create(
                        "jdbc:dm://localhost:5236/SYSDBA?rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8",
                        "SYSDBA",     // 达梦数据库模式名
                        "xyz123..."		// 密码
                )
                // 全局配置
                .globalConfig(
                        builder -> {
                            builder
                                    .author("xxx")              // 作者
                                    .outputDir(System.getProperty("user.dir") + "/src/main/java")    // 指定输出目录
                                    .commentDate("yyyy-MM-dd")                                // 注释的日期
                                    // 修改Date类型为LocalDateTime
                                    //.dateType(DateType.ONLY_DATE)
                                    .enableSwagger()
                                    .disableOpenDir();                                            // 禁止打开输出目录,默认:true
                        }
                )
                // 包配置
                .packageConfig(
                        builder -> {
                            builder
                                  //.moduleName(System.getProperty("user.dir").substring(System.getProperty("user.dir").lastIndexOf("\\") + 1))   // 设置父包模块名
                                    .parent(this.getClass().getPackageName() + ".base")           // 父包名
                                    .entity("pojo.entity")                                          // 实体类包名
                                    //.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/resources/mapper"))   // 设置 mapperXml 生成路径
                                    .other("utils");                                                // 自定义文件包名
                        }
                )
                // 策略配置
                .strategyConfig(
                        builder -> {
                            builder
                                    // 在这里添加数据库表名
                                    .addInclude("BBZQ_ROLE")                       // 设置需要生成的表名,多个表之间可以用逗号隔开
                                    // .addExclude("BBZQ_USER","BBZQ_USER_LOG")
                                    .controllerBuilder().enableRestStyle()          // controller配置策略
                                    .serviceBuilder().formatServiceFileName("%sService")            // service配置策略
                                    .mapperBuilder().enableBaseColumnList().enableBaseResultMap().enableMapperAnnotation()     // mapper配置策略
                                    .entityBuilder().enableLombok().enableRemoveIsPrefix().disableSerialVersionUID().enableTableFieldAnnotation()       // 实体配置策略
                                    .logicDeleteColumnName("is_deleted")        		  // 逻辑删除字段名
                                    .naming(NamingStrategy.underline_to_camel)            // 数据库表映射到实体的命名策略,下划线转驼峰
                                    .columnNaming(NamingStrategy.underline_to_camel)      // 数据库表字段映射的命名策略,下划线转驼峰
                                    .addTableFills(    // 添加表字段填充,"create_time"自动填充为插入时间,"update_time"自动填充为修改时间
                                            new Column("create_time", FieldFill.INSERT),
                                            new Column("update_time", FieldFill.INSERT_UPDATE)
                                    )
                                    .idType(IdType.AUTO);
                        }
                )
                // 模板配置
                .templateEngine(new VelocityTemplateEngine())    // 使用的是默认的 Velocity 引擎模板
                // 执行
                .execute();
    }
}

2.3、数据库连接部分

server:
  port: 7069

spring:
  config:
    activate:
      on-profile: xx


  # 达梦数据库连接配置
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: dm.jdbc.driver.DmDriver
    #    url: jdbc:dm://127.0.0.1:5236/SYSDBA?rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
    url: jdbc:dm://localhost:5236/SYSDBA?rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
    username: SYSDBA
    password: xyz123...

2.4、达梦数据库的一些要求

这里想要实现,需要保证达梦数据库的表名和字段名全部都是大写,因为如果是小写的话,在查询的时候需要加上双引号,而 MybatisPlus 生成 sql 的过程中是不会自动添加双引号的,这样就会出问题,如下

达梦数据库支持mybatisplus吗,spring boot,数据库

三、实现效果:

3.1、执行逆向工程方法

达梦数据库支持mybatisplus吗,spring boot,数据库

3.2、效果:

这里的效果图是我执行了多个表之后的结果
达梦数据库支持mybatisplus吗,spring boot,数据库

3.3、测试 mybatisPlus 是否可用

测试前数据库数据:
达梦数据库支持mybatisplus吗,spring boot,数据库

执行测试工具类:

package com.xx;

import com.xx.base.mapper.BbzqRoleMapper;
import com.xx.base.pojo.entity.BbzqRole;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;

@SpringBootTest(classes = ApiApplication.class)
public class dmTest {

    @Autowired
    private BbzqRoleMapper bbzqRoleMapper;


    @Test
    public void teacher() throws ParseException {
        List<BbzqRole> teachers = bbzqRoleMapper.selectList(null);
        teachers.forEach(System.out::println);

        System.out.println("==================================");

        BbzqRole bbzqRole = new BbzqRole();
        bbzqRole.setId("566666666");
        bbzqRole.setRoleName("zhouzhou");
        bbzqRole.setRoleCode("8858");

        String createTime = "2022-02-02 02:02:02";
        String updateTime = "2023-03-03 03:03:03";

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


        bbzqRole.setCreateTime(formatter.parse(createTime));
        bbzqRole.setUpdateTime(formatter.parse(updateTime));

        bbzqRoleMapper.insert(bbzqRole);

        teachers = bbzqRoleMapper.selectList(null);
        teachers.forEach(System.out::println);
    }

}

达梦数据库支持mybatisplus吗,spring boot,数据库

测试后数据库数据:

达梦数据库支持mybatisplus吗,spring boot,数据库

至此,成功!

再次在提一次: 达梦数据库中的表和字段都必须大写 不过好像听说在创建或迁移数据的工程中设置达梦数据库不区分大小写也可以,不过没有尝试过 文章来源地址https://www.toymoban.com/news/detail-601240.html

到了这里,关于springboot使用达梦数据库(DM8)整合MybatisPlus的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • dmfldr-快速装载-载入(DM8:达梦数据库)

    DM 提供了快速装载工具:dmfldr; 通过使用快速装载工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中,或把 DM 数据库中的数据按照一定格式载出到文本文件中。 dmfldr 在一台机器上启动即可,独立完成快速装载任务,简单高效。 其中,表

    2024年02月06日
    浏览(42)
  • 开发 | JAVA连接达梦数据库(DM8)

    本文参考文献 https://eco.dameng.com/docs/zh-cn/start/java-development.html https://eco.dameng.com/docs/zh-cn/app-dev/index.html 本文通过以下方式实现Java程序与DM8数据库的交互 使用JDBC接口(不用框架,最简单) 使用MyBatis框架 使用Spring框架 使用SpringBoot Jdbc 框架 Java的软件开发工具包(SDK) JDK(Ja

    2024年02月07日
    浏览(67)
  • DM8:达梦数据库开启SQL日志sqllog

    在使用数据库过程中,有时候想要查看数据库执行的SQL日志,由于V$SESSIONS 系统视图默认保留10000条,不满足需求,可以配置开启SQLLOG; 登陆达梦数据库管理工具或 disql 执行命令 开启后注意观察数据库log目录的dmsql开头的日志文件,是否达到256MB后正常切换,达到20个日志文件

    2024年02月10日
    浏览(55)
  • Linux安装达梦数据库/DM8(附带客户端工具安装完整版)

    1.1、创建安装与运行的Linux用户 官方也明确提出,为了减少对操作系统的影响, Linux 用户不应该已 root 用户和默认的用户组来安装与运行达梦数据库,应该为 DM 创建一个专用的用户组和系统用户。例如: 1.2、操作系统资源限制检查 这也是官方给出的提醒,在 Linux 系统中,

    2024年02月02日
    浏览(53)
  • -9501 MAL系统没有配置或者服务器不是企业版(dm8达梦数据库)

    搭建主备集群时,遇到报错-9501 MAL系统没有配置或者服务器不是企业版 检查dmmal.ini配置文件权限正确 dmdba:dinstall,内容正确 检查dm.key授权是支持主备或读写分离 检查dm.ini 参数配置 最终定位问题是 dm.ini 中 INSTANCE_NAME 参数值 与dmmal.ini 中MAL_INST_NAME 不匹配的原因,修改后启动

    2024年02月11日
    浏览(42)
  • 麒麟操作系统Kylin V10 安装达梦数据库DM8 客户端远程调试

    一、环境准备 软件名称 版本 vmware workstation 16.1.2 build-17966106 银河麒麟 Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso 达梦DM8 DMInstall.bin 银河麒麟 server v10 x86架构安装iso镜像。 Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso 二、DM8数据库安装 以下操作可以使用远程工具执行命令 1. 启动网络

    2024年02月04日
    浏览(94)
  • 达梦数据库整合在springboot的使用教程

    一、官网下载试用版本 http://www.dameng.com/down.aspx 我是win 11系统下载如下: 二、安装 解压后 双击打开iso文件   然后点击安装   选择创建实例( 注意记住账号/密码 端口号 默认的是 SYSDBA/SYSDBA 5236 )   然后一直下一步 到完成(不做其他操作就完成就行了 此时数据库与可视化

    2024年02月06日
    浏览(53)
  • 配置ODBC驱动连接DM8数据库

    ODBC提供访问不同类型的数据库的途径。结构化查询语言 SQL 是一种用来访问数据库的语言。通过使用 ODBC,应用程序能够使用相同的源代码和各种各样的数据库交互。这使得开发者不需要以特殊的数据库管理系统 DBMS 为目标,或者了解不同支撑背景的数据库的详细细节,就能

    2024年02月16日
    浏览(48)
  • SpringBoot整合达梦数据库

    近期接到了一个需要国产化的项目,用到了达梦数据库,没想到一开始配置就出现了问题,下面把配置给大家粘贴出来,大家少踩点坑。 一、先下载达梦数据库 这是达梦数据库下载链接,达梦数据库没有免费的,个人好像是一年的试用期,具体不太清楚还没开始好好研究。

    2024年02月03日
    浏览(45)
  • SpringBoot整合达梦数据库的教程(详解)

    一、官网下载试用版本 http://www.dameng.com/down.aspx 我是win 11系统下载如下: 二、安装 解压后 双击打开iso文件 然后点击安装   选择创建实例(注意记住账号/密码 端口号 默认的是 SYSDBA/SYSDBA 5236)   然后一直下一步 到完成(不做其他操作就完成就行了 此时数据库与可视化工具

    2024年02月16日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包