当前位置:   article > 正文

Spring Boot+Mybatis+DM数据库_dms数据库连接集成springboot

dms数据库连接集成springboot

达梦数据库(DM Database)是武汉达梦数据库股份有限公司研发的新一代大型通用关系型国产数据库,全面支持 SQL 标准和主流编程语言接口/开发框架。行列融合存储技术,在兼顾 OLAP 和 OLTP 的同时,满足 HTAP 混合应用场景。


在公司项目开发过程中,项目要求使用dm数据库,在用spring boot集成mytatis+dm数据库时,遇到了一些问题,现将成功的示例分享给大家,望大家少走一些弯路。

示例包架构如下图所示

controller:示例接口

db:实体

mapper:数据库交互接口

DmDemoApp:项目启动类

maven引入相关jar包
  1. <dependencies>
  2. <!-- 引入 springboot start -->
  3. <dependency>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-starter</artifactId>
  6. </dependency>
  7. <!-- 引入web支持 -->
  8. <dependency>
  9. <groupId>org.springframework.boot</groupId>
  10. <artifactId>spring-boot-starter-web</artifactId>
  11. </dependency>
  12. <!-- 添加dm8 jdbc jar 包依赖-->
  13. <dependency>
  14. <groupId>com.dameng</groupId>
  15. <artifactId>DmJdbcDriver18</artifactId>
  16. <version>8.1.2.141</version>
  17. </dependency>
  18. <!-- 引入阿里druid工具 包依赖-->
  19. <dependency>
  20. <groupId>com.alibaba</groupId>
  21. <artifactId>druid-spring-boot-starter</artifactId>
  22. <version>1.2.6</version>
  23. </dependency>
  24. <!-- 引入lombok工具 包依赖-->
  25. <dependency>
  26. <groupId>org.projectlombok</groupId>
  27. <artifactId>lombok</artifactId>
  28. <version>1.18.6</version>
  29. </dependency>
  30. <!-- mybatis-plus的依赖 -->
  31. <dependency>
  32. <groupId>com.baomidou</groupId>
  33. <artifactId>mybatis-plus-boot-starter</artifactId>
  34. <version>3.5.2</version>
  35. </dependency>
  36. </dependencies>
设置下数据库配置信息
  1. server:
  2. port: 8080
  3. servlet:
  4. context-path: /
  5. spring:
  6. datasource:
  7. type: com.alibaba.druid.pool.DruidDataSource
  8. driver-class-name: dm.jdbc.driver.DmDriver
  9. url: jdbc:dm://172.16.3.90:5236/
  10. username: SYSDBA
  11. password: SYSDBA
  12. druid:
  13. validation-query: select 1
  14. test-on-borrow: false

请根据自己部署的dm数据库实际情况,调整数据库连接的相关配置,如url、username、password

 示例代码详解
  • 实体
  1. @TableName("THC.ALARM_STRATEGY")
  2. @Data
  3. public class AlarmStrategy {
  4. @TableId(value = "ID", type = IdType.AUTO)
  5. private Integer id;
  6. private String strategyName;
  7. private String alarmType;
  8. private String alarmKeyword;
  9. private String keywordType;
  10. private String alarmStartTime;
  11. private String alarmEndTime;
  12. private Date createTime;
  13. private Date updateTime;
  14. }

需要注意@TableName赋值的问题,在表名的前面加上schema;其次是id自增,需要建表时将id设置为“ID INT IDENTITY(1,1) NOT NULL”。

  •  数据库交互接口
  1. @Mapper
  2. public interface AlarmStrategyMapper extends BaseMapper<AlarmStrategy> {
  3. }
  • 示例接口
  1. @RequestMapping("/strategy")
  2. @RestController
  3. public class DbController {
  4. @Autowired
  5. private AlarmStrategyMapper alarmStrategyMapper;
  6. @PostMapping(value = "/list")
  7. public List<AlarmStrategy> listAlarmStrategy() {
  8. return alarmStrategyMapper.selectList(null);
  9. }
  10. @PostMapping(value = "/add")
  11. public String addAlarmStrategy() {
  12. AlarmStrategy alarmStrategy = new AlarmStrategy();
  13. alarmStrategy.setStrategyName("测试策略1");
  14. alarmStrategy.setCreateTime(new Date());
  15. alarmStrategy.setUpdateTime(new Date());
  16. alarmStrategyMapper.insert(alarmStrategy);
  17. return "ok";
  18. }
  19. }
  • 建表语句
  1. CREATE TABLE THC.ALARM_STRATEGY (
  2. ID INT IDENTITY(1,1) NOT NULL,
  3. STRATEGY_NAME VARCHAR(100) NULL,
  4. ALARM_TYPE VARCHAR(100) NULL,
  5. ALARM_KEYWORD VARCHAR(100) NULL,
  6. KEYWORD_TYPE VARCHAR(100) NULL,
  7. ALARM_START_TIME VARCHAR(100) NULL,
  8. ALARM_END_TIME VARCHAR(100) NULL,
  9. CREATE_TIME VARCHAR(100) NULL,
  10. UPDATE_TIME VARCHAR(100) NULL
  11. );

需要注意schema名称,这里使用的时THC。

 最后将整个示例提供给大家参考。

如果对你有所帮助,请点赞支持一下。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/480574
推荐阅读
相关标签
  

闽ICP备14008679号