信创迁移适配预研-SpringBoot连接达梦数据库DM8服务并在IDEA中连接

简介: 信创迁移适配预研-SpringBoot连接达梦数据库DM8服务并在IDEA中连接

背景


安装完数据库服务后,来试一下 SpringBoot 与达梦数据库集成,然后测试下基础的 CRUD 操作以及事务支持功能。


由于本系列文章仅用于记录当时项目的国产化迁移过程,不涉及太多的理论内容,基本都是一系列的操作过程,所以行文上就直接上操作了。如果您有任何疑问,欢迎留言评论。


从前车马很慢,书信很远,一生只够爱一个人。

如今生活太快,时间太少,不要绕圈子,给我来个痛快的。


SpringBoot连接达梦数据库


  • 依赖


以下通过外部依赖的方式集成达梦的依赖,实际部署时可通过 maven 将依赖包安装到本地仓库再进行引用。

<dependency>
            <groupId>com.DmJdbcDriver18</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>18.0.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/extralib/DmJdbcDriver18.jar</systemPath>
        </dependency>
  • 连接配置
spring:
  datasource:
    username: "SMARTCITY"
    password: "SMART_CITY123"
    driver-class-name: dm.jdbc.driver.DmDriver
    url: jdbc:dm://hadoop3:5236

Note:达梦 SQL 查询必须指定 from 库名. 表名,除非用户名和库名一致时可省略库名,这里我们都是在 SMARTCITY 库下操作。


  • 集成MyBatisPlus
mybatis-plus:
  configuration:
    # 开启下划线转驼峰
    map-underscore-to-camel-case: true
    # 指定默认枚举类型的类型转换器
    default-enum-type-handler: com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    # 开启/关闭 banner 打印
    banner: false
    db-config:
      # 逻辑删除(软删除)
      logic-delete-value: NOW()
      logic-not-delete-value: 'NULL'
  mapper-locations: classpath:mapper/*.xml


数据库测试


测试用例:基础的 CRUD 操作以及事务支持。

@SpringBootTest
class DmtestApplicationTests {
    @Autowired
    CityService cityService;
    @Test
    public void selectTest(){
        List<City> list = cityService.list();
        System.out.println(list);
    }
    @Test
    public void insertTest(){
        City city = new City();
        city.setCityName("太原");
        city.setRegionId(43);
        cityService.save(city);
    }
    @Test
    @Transactional
    public void insertTest2() throws Exception {
        City city = new City();
        city.setCityName("石家庄");
        city.setRegionId(41);
        cityService.save(city);
        int x = 1/0;
        City city2 = new City();
        city2.setCityName("西安");
        city2.setRegionId(46);
        cityService.save(city);
    }
}

经过测试,发现通过 SpringBootMyBatisPlus 以及达梦数据库集成后,写入、查询、事务都是正常(事务会回滚)的。

image.png

Note: 数据写入可以通过SQL语句,或者DM数据迁移工具实现。


在IDEA中连接达梦数据库


我们知道, IDEA 中可以连接各类数据库 MySQLMongoDB 等,其实我们通过手动添加驱动,也可实现对达梦数据库的支持。


  • 添加数据源

image.png

  • 测试连接

image.png

  • 在IDEA中查看数据

image.png


目录
相关文章
|
11天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
30 1
|
14天前
|
SQL 监控 关系型数据库
PG数据库释放闲置连接
PG数据库释放闲置连接
21 0
|
24天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
125 3
|
25天前
|
网络协议 数据库连接 网络安全
DM数据库连接数据库时报:创建sokect连接失败
DM数据库连接数据库时报:创建sokect连接失败
13 0
|
19天前
|
Java 开发工具 Maven
IntelliJ IDEA安装教程(超详细)
IntelliJ IDEA安装教程(超详细)
78 1
|
25天前
|
XML IDE 开发工具
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
40 0
|
1月前
|
IDE Java 开发工具
如何安装intellij IDEA
如何安装intellij IDEA
|
2月前
|
IDE Java 数据库连接
IntelliJ IDEA安装使用教程——社区免费版——附中文插件安装
IntelliJ IDEA安装使用教程——社区免费版——附中文插件安装
244 0
|
2月前
|
XML 搜索推荐 JavaScript
Easy Code,IntelliJ IDEA中代码一键生成
Easy Code,IntelliJ IDEA中代码一键生成
Easy Code,IntelliJ IDEA中代码一键生成
|
2月前
IntelliJ IDEA 自定义控制台输出多颜色格式功能 --- 安装Grep Console插件
IntelliJ IDEA 自定义控制台输出多颜色格式功能 --- 安装Grep Console插件