尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

maven项目连接DM数据库和基本sql使用

maven项目连接DM数据库和基本sql使用
📅 发布时间:2026/6/19 2:51:44
maven项目连接DM数据库和基本sql使用
直接引入Maven依赖
<!-- DM数据库JDBC驱动 -->
<dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver18</artifactId><version>8.1.3.140</version>
</dependency>

demo连接代码

public static void main(String[] args) {// 数据库连接信息Connection conn = null;Statement stmt = null;ResultSet rs = null;try {// 加载DM JDBC驱动Class.forName("dm.jdbc.driver.DmDriver");System.out.println("达梦JDBC驱动加载成功");// 连接到DM数据库 后面跟的库表/模式名String url = "jdbc:dm://localhost:5236/UNIONIST";String user = "SYSDBA";String password = "123456";conn = DriverManager.getConnection(url, user, password);System.out.println("数据库连接成功");// 检查数据库元数据DatabaseMetaData metaData = conn.getMetaData();System.out.println("数据库产品: " + metaData.getDatabaseProductName());System.out.println("数据库版本: " + metaData.getDatabaseProductVersion());// 在连接建立后添加System.out.println("连接的数据库: " + metaData.getURL());System.out.println("当前用户: " + metaData.getUserName());System.out.println("当前模式: " + conn.getSchema()); // DM8支持// 检查表是否存在ResultSet tables = metaData.getTables(null, null, "CITY", new String[]{"TABLE"});if (tables.next()) {System.out.println("找到表: " + tables.getString("TABLE_NAME"));} else {System.out.println("未找到CITY表,尝试不区分大小写查找...");// 尝试不区分大小写查找tables = metaData.getTables(null, null, null, new String[]{"TABLE"});while (tables.next()) {String tableName = tables.getString("TABLE_NAME");if ("CITY".equalsIgnoreCase(tableName)) {System.out.println("找到类似表(不区分大小写): " + tableName);}}}tables.close();// 创建Statement用于执行SQL语句stmt = conn.createStatement();// 先执行一个简单测试查询String testSql = "SELECT COUNT(*) AS cnt FROM USER_TABLES";ResultSet testRs = stmt.executeQuery(testSql);if (testRs.next()) {System.out.println("数据库中的表数量: " + testRs.getInt("cnt"));}testRs.close();// 执行查询并获取结果集String sql = "SELECT * FROM TEST.CITY order by region_id desc";System.out.println("执行SQL: " + sql);rs = stmt.executeQuery(sql);System.out.println("查询执行完成");// 获取结果集元数据ResultSetMetaData rsmd = rs.getMetaData();int columnCount = rsmd.getColumnCount();System.out.println("查询返回列数: " + columnCount);for (int i = 1; i <= columnCount; i++) {System.out.println("列 " + i + ": " + rsmd.getColumnName(i) + " (" + rsmd.getColumnTypeName(i) + ")");}// 处理结果集int rowCount = 0;while (rs.next()) {String id = rs.getString("CITY_ID");String name = rs.getString("CITY_NAME");String region = rs.getString("REGION_ID");// 输出城市信息System.out.println("City ID: " + id + ", Name: " + name + ", Region: " + region);rowCount++;}if (rowCount == 0) {System.out.println("查询成功,但没有返回任何数据");// 尝试另一种查询方式System.out.println("尝试查询所有表数据...");String allDataSql = "SELECT * FROM " +"(SELECT TABLE_NAME FROM USER_TABLES WHERE ROWNUM <= 5)";ResultSet allDataRs = stmt.executeQuery(allDataSql);while (allDataRs.next()) {System.out.println("表名: " + allDataRs.getString("TABLE_NAME"));}allDataRs.close();} else {System.out.println("总共查询到 " + rowCount + " 条记录");}} catch (ClassNotFoundException e) {System.err.println("找不到达梦JDBC驱动: " + e.getMessage());e.printStackTrace();} catch (SQLException e) {System.err.println("数据库操作错误: " + e.getMessage());System.err.println("SQL状态: " + e.getSQLState());System.err.println("错误代码: " + e.getErrorCode());e.printStackTrace();} finally {// 关闭资源try {if (rs != null) rs.close();if (stmt != null) stmt.close();if (conn != null) conn.close();System.out.println("数据库连接已关闭");} catch (SQLException e) {e.printStackTrace();}}}

以上的代码救能对数据库进行相关操作了

附件个配置文件的方式

application.properties 方式

# DM数据库连接配置
spring.datasource.url=jdbc:dm://localhost:5236/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver

application.yml 方式

spring:datasource:url: jdbc:dm://localhost:5236/your_database_name
    username: your_usernamepassword: your_passworddriver-class-name: dm.jdbc.driver.DmDriver

 

 

相关新闻

  • Inventor Professional 2026.1.1 产品设计与工程制图
  • 叮当计步微信小程序系统
  • fetch-event-source踩坑sse(getReader)后续 IOS全量返回问题

最新新闻

  • Godot 4开源回合制RPG实战指南:构建专业级战斗与对话系统
  • 论文写作进阶:构建清晰一致的数学符号系统
  • MC9S12VR ATD模块高精度设计:从手册规范到电路实战
  • 2026全球化仓储软件(WMS)哪家好?行业选型参考 - 品牌排行榜
  • 告别臃肿:3个理由让你立即切换到GHelper控制华硕笔记本
  • 2026苏州擅长协议离婚谈判的律师推荐 - 品牌排行榜

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号