DMTest

前言:达梦数据库作为国产数据库的佼佼者,今天尝试利用springboot +mybatis +druid来测试一下达梦数据库在java开发,特别是现在的利用框架来进行快速开发中的效果。

介绍

利用springboot +mybatis +druid 连接国产达梦数据库

软件架构

软件架构说明
在这里插入图片描述

代码展示

首先导入对应的依赖。
pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.5.2</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.sise.fxl</groupId>
	<artifactId>TestDM</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>TestDM</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.2.0</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/com.dameng/Dm8JdbcDriver18 -->
<dependency>
    <groupId>com.dameng</groupId>
    <artifactId>Dm8JdbcDriver18</artifactId>
    <version>8.1.1.49</version>
</dependency>
		
		
		
 	<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

编写实体类,对应数据库的类。

package com.sise.entity;

public class User {
	
	
	private int id;
    private String name;
    private String birthday;
    private String notes;
 
    public String getBirthday() {
		return birthday;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}

	public String getNotes() {
		return notes;
	}

	public void setNotes(String notes) {
		this.notes = notes;
	}

	
    public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}

编写mapper 里面主要是对数据库的一些crud操作。

package com.sise.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.sise.entity.User;

@Mapper
public interface ConformityMapper {
	User selectById();
	@Select("select * from \"TESTDB\".\"t_student\"")
	public List<User> getAllUser();
	
	
	//查询
	@Select("select * from \"TESTDB\".\"t_student\" where \"id\"= #{id}")
	public List<User> getUsers(@Param("id") int id);
	
	//插入
	@Insert("insert into \"TESTDB\".\"t_student\" values (#{id},#{name},#{birthday},#{notes});commit;")
	public void saveUser(@Param("id") int id,@Param("name") String  name,@Param("birthday") String  birthday,@Param("notes") String  notes);
	
	//删除
	@Delete("delete from \"TESTDB\".\"t_student\" where \"id\"='1001'")
	public void deleteUser();
	
	//更新
	@Update("update \"TESTDB\".\"t_student\" set \"name\"='ketene' where \"id\"='1007'")
	public void  updateUser();
	
}

在controller里面写上对应的映射操作

package com.sise.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.sise.entity.User;
import com.sise.mapper.ConformityMapper;

@RestController
public class UserController {
	@Autowired
	ConformityMapper conformityMapper;
	
	@RequestMapping("/test/all")
	public List<User> getAllUser(){
		return conformityMapper.getAllUser();
	}
	
	
	
	@RequestMapping("/test/{id}") //查询
	public List<User> getUsers(@PathVariable("id")int id){
//		System.out.println("查询");
//		User user = new User();s  
//		user.setId(1002);
		return conformityMapper.getUsers(id);
	    }
	
	@RequestMapping("/testinsert")
	public String saveUser() {
		User user = new User();
		user.setId(1007);
		user.setName("jelly");
		user.setBirthday("1999-8-6");
		user.setNotes("NULL");
		conformityMapper.saveUser(user.getId(),user.getName(),user.getBirthday(),user.getNotes());
		return "insert success!!!!";
	}
	
	@RequestMapping("/testdelete")
	public String deleteUser() {
		conformityMapper.deleteUser();
		return "delete success!!!!";
	}
	
	@RequestMapping("/testupdate")
	public String updateUser() {
		conformityMapper.updateUser();
		return "updateUser success!!!!";
	}
	
}

相关的数据库结构在testdb.sql文件上,需要自行加入数据。
在达梦的图形化界面进行操作,一定要记得提交事务,也就是 commit语句。

利用Javaspringboot框架,快速整合达梦数据库进行开发。相关配置参数在application.yml里面。
在这里插入图片描述

数据库的结构以及部分数据展示:
在这里插入图片描述

crud展示

对数据库内容进行简单的crud(增删改查)
下面是一些演示内容:

对数据库按照id来进行查询:
在这里插入图片描述

查询全部数据:
在这里插入图片描述

插入数据:
插入前
在这里插入图片描述

插入成功
在这里插入图片描述

插入后
在这里插入图片描述

删除数据
删除前
在这里插入图片描述

删除成功:
在这里插入图片描述

删除后:
在这里插入图片描述

更新数据操作:
更新前:
在这里插入图片描述

更新成功:
在这里插入图片描述

更新后:
在这里插入图片描述

自此,就对达梦数据库进行了一个简单的操作了。
但是除了查询以外的sql操作语句是写死的,也可以按照查询语句的写法来进行完善修改。
我这里为了方便展示,就没有去完善了。

项目已经上传到gitee上面:
链接附上:
DMTest

更多资讯请上达梦技术社区了解: https://eco.dameng.com

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐