信创迁移适配预研-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


目录
相关文章
|
10月前
|
JavaScript Java 关系型数据库
基于springboot的美食城服务管理系统
本系统基于Spring Boot、Java、Vue和MySQL技术,构建集消费者服务、商家管理与后台监管于一体的美食城综合管理平台,提升运营效率与用户体验。
|
11月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1861 5
|
11月前
|
数据库
【赵渝强老师】达梦数据库实例的状态
达梦数据库实例包含NORMAL、PRIMARY和STANDBY三种模式,以及MOUNT、OPEN和SUSPEND三种状态。模式之间可在MOUNT状态下相互转换,不同状态与模式适用于数据库的启动、配置及运行需求。
504 1
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
987 0
|
SQL 缓存 分布式数据库
【赵渝强老师】达梦数据库的线程结构
达梦数据库采用单进程、多线程结构,利用对称服务器架构实现高效资源利用与可扩展性。其核心线程类型包括监听线程(管理客户端连接)、I/O线程(处理数据页读写)、工作线程(执行数据操作)、调度线程(定时任务管理)和日志刷新线程(确保REDO日志刷盘)。通过合理分工与同步机制,达梦数据库实现了高性能与稳定性。视频讲解进一步详细介绍了各线程的功能与协作方式。
470 1
【赵渝强老师】达梦数据库的线程结构
|
SQL 存储 缓存
【赵渝强老师】达梦数据库的内存结构
本文介绍了达梦数据库管理系统的内存结构,包括内存池、缓冲区、排序区和哈希区。内存池分为共享内存池和运行时内存池,能够提高内存申请与释放效率,并便于监控内存使用情况。缓冲区涵盖数据缓冲区、日志缓冲区、字典缓冲区和SQL缓冲区,用于优化数据读写和查询性能。排序区和哈希区分别提供排序和哈希连接所需的内存空间,通过合理配置参数可提升系统效率。文内附有具体配置示例及视频讲解,帮助用户深入理解达梦数据库的内存管理机制。
608 0
|
11月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
11月前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1699 152

热门文章

最新文章