达梦数据库使用

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 国产优秀数据库达梦数据库的简单使用,springboot+mybatis整合达梦数据库

📑前言

本文主要是【达梦数据库】——达梦数据库简单使用的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:阿里云主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

image.png

达梦数据库

本实验主要是达梦数据库增删改查的简单案例

  • 实验环境采用JDK17,使用springboot+mybatis整合达梦数据库

1.在pom.xml中导入对应的依赖

        <!--Mybatis依赖-->
       <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.2</version>
        </dependency>
<!--达梦数据库驱动-->
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>8.1.1.193</version>
        </dependency>
<!--jdbc驱动-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
<!--web项目依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

2.配置application.yml文件

spring:
    datasource:
        username: SYSDBA  #模式名
        password: SYSDBA  #密码
        url: jdbc:dm://localhost:5236 #达梦数据库默认端口为5236,不用更改
        driver-class-name: dm.jdbc.driver.DmDriver
server:
    port: 8080 #tomcat端口使用8080

3.实体类:Student

package com.dameng.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
   
   
    private int id;
    private String name;
    private int age;

}

4.接口类StudentMapper

package com.dameng.mapper;

import com.dameng.pojo.Student;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface StudentMapper {
   
   
    @Select("select * FROM \"student\"")
    List<Student> findAll();

    @Insert("insert INTO SYSDBA.\"student\" VALUES(#{name},#{age})")
    int insertStudent(Student student);

    @Delete("delete FROM SYSDBA.\"student\" WHERE \"student\".\"id\" == #{id}")
    int deleteStudent(int id);

    @Update("update SYSDBA.\"student\" SET SYSDBA.\"student\".\"age\" = #{age},SYSDBA.\"student\".\"name\"=#{name} WHERE \"student\".\"id\" = #{id}")
    int updateStudent(Student student);

    @Select("select * FROM SYSDBA.\"student\" WHERE \"student\".\"id\"=#{id}")
    Student findStudentById(int id);
}

测试类:DaMengApplicationTests

package com.dameng;

import com.dameng.mapper.StudentMapper;
import com.dameng.pojo.Student;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class DaMengApplicationTests {
   
   

    //注入接口对象
    @Autowired
    private StudentMapper studentMapper;

    @Test
    void contextLoads() {
   
   
        //查询所有学生
        List<Student> list = studentMapper.findAll();
        for (Student i:list){
   
   
            System.out.println(i.toString());
        }
        //根据ID查询学生
        Student student = studentMapper.findStudentById(1);
        System.out.println(student.toString());
        //添加学生
        Student student1 = new Student(0,"赵哈哈",18);
        int i = studentMapper.insertStudent(student1);
        System.out.println("i:"+i);
        //修改学生信息
        Student student2 = new Student(4,"赵七",20);
        int i1 = studentMapper.updateStudent(student2);
        System.out.println("i1:"+i1);
        //根据ID删除学生
        int i2 = studentMapper.deleteStudent(5);
        System.out.println("i2:"+i2);
    }

}

达梦数据库增删改查语法

  • 最后操作完数据库之后记得commit;不然不会立即执行。
insert INTO SYSDBA."student" VALUES('王五',20);
select * FROM SYSDBA."student";
delete FROM SYSDBA."student" WHERE "student"."id" = 3;
update SYSDBA."student" SET SYSDBA."student"."age" = 10,SYSDBA."student"."name"='张强' WHERE "student"."id" = 1;
select * FROM SYSDBA."student" WHERE "student"."id"=2;
commit;

image.png

总结

  • 达梦数据库是我国的一款优秀国产数据库,但是其自适应的DM管理工具确实没有Navicat等工具简洁明了,方便好用,但支持国产,相信达梦数据库,国产数据库会变得越来越好。

📑文章末尾

image.png

相关文章
|
29天前
|
SQL 数据库 开发者
达梦数据库 【-6111: 字符串转换出错】问题处理
在更新数据库某个值属性时,遇到了“字符串转换出错”的错误。经过分析,发现是由于 `id` 字段实际上是字符串类型而非数值类型导致的。最终通过将 `id` 的值改为字符串类型解决了问题。此问题提醒我们在处理数据库时要仔细检查表结构,不要凭经验臆断字段类型。
|
4月前
|
监控 Java 应用服务中间件
达梦数据库DEM监控部署教程分享
达梦数据库DEM监控部署教程分享
163 2
|
4天前
|
SQL 弹性计算 安全
在云上轻松部署达梦数据库
达梦数据库(DM Database)是达梦数据库有限公司开发的关系型数据库管理系统,广泛应用于政府、金融、能源等行业。它具备高性能、高安全、兼容性强、易管理等特点,支持多种操作系统,适用于关键业务系统、政务系统及大数据处理等场景。在阿里云上,可通过一键部署快速使用达梦数据库DM8。
|
14天前
|
SQL 存储 关系型数据库
达梦数据库字段类型 varchar 转 text
本文介绍了在达梦数据库中将字段类型从 `varchar` 转换为 `text` 的两种方法:一是通过 DM数据迁移工具导出表结构和数据,修改后重新导入;二是通过添加临时字段、转移数据、删除原字段并重命名临时字段的方式实现转换。针对不同数据量的表,提供了灵活的解决方案。
|
2月前
|
SQL 数据库
达梦数据库阻塞死锁及解锁
【10月更文挑战第6天】本文介绍了在达梦数据库中模拟和解决死锁的方法。首先通过创建表并插入数据但不提交事务,模拟了阻塞情况;接着利用V$TRXWAIT和V$SESSIONS视图查询阻塞信息,并通过SP_CLOSE_SESSION函数解决阻塞。最后讨论了死锁的成因及避免策略,强调了正确管理事务的重要性。
|
2月前
|
Oracle Java 关系型数据库
使用DataGrip链接达梦数据库
使用DataGrip链接达梦数据库
149 0
|
4月前
|
Oracle 关系型数据库 Java
银河麒麟v10安装达梦数据库
银河麒麟v10安装达梦数据库
344 1
|
6月前
|
SQL Java 数据库连接
使用Python通过JDBC操作数据库(达梦数据库)
使用Python通过JDBC操作数据库(达梦数据库)
913 0
|
6月前
|
Linux 数据库
Linux安装达梦数据库达梦数据
Linux安装达梦数据库达梦数据
|
6月前
|
SQL 存储 监控
达梦数据库死锁排查与解决
达梦数据库死锁排查与解决
1572 0