springboot +mybatis +druid 连接达梦数据库

本文通过一个名为DMTest的项目,展示了如何使用SpringBoot、MyBatis和Druid连接并操作国产达梦数据库。详细介绍了项目架构、依赖配置、实体类、Mapper接口和Controller的实现,包括增删改查(CRUD)的基本功能。项目源码已上传至Gitee,供读者参考和学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

Java中,Druid是一个流行的开源数据库连接池,它可以有效地管理JDBC连接,提高应用程序的性能和稳定性。当使用Druid配置达梦数据库(DM)时,你需要设置以下几个关键属性: 1. **driverClassName**: 配置Druid连接到DM数据库的驱动,如`com.daimler.dbaccess.jdbc.DMDriver`。 ```xml <property name="driverClassName" value="com.daimler.dbaccess.jdbc.DMDriver"/> ``` 2. **url**: 数据库连接地址,包括数据库名、服务器地址等信息。 ```xml <property name="url" value="jdbc:dm://your_host:port/your_database"/> ``` 3. **username** 和 **password**: 数据库用户名和密码。 ```xml <property name="username" value="your_username"/> <property name="password" value="your_password"/> ``` 4. **initialSize**: 连接池初始大小。 ```xml <property name="initialSize" value="5"/> ``` 5. **maxActive**: 连接池最大活动连接数。 ```xml <property name="maxActive" value="20"/> ``` 6. **minIdle**: 连接池最小空闲连接数。 ```xml <property name="minIdle" value="3"/> ``` 7. **testWhileIdle**: 是否在空闲期间验证连接是否有效。 ```xml <property name="testWhileIdle" value="true"/> ``` 8. **timeBetweenEvictionRunsMillis**: 检查连接的间隔时间(毫秒)。 ```xml <property name="timeBetweenEvictionRunsMillis" value="60000"/> ``` 9. **maxWait**: 等待连接的最大时间(毫秒),超过这个时间会抛出异常。 ```xml <property name="maxWait" value="60000"/> ``` 在Spring Boot项目中,可以将上述配置添加到application.properties或application.yml文件中,并通过@ConfigurationProperties自动注入。记得在启动Druid时开启监控功能,方便查看连接池状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值