Mybatis整合达梦数据库的完整步骤记录
作者:陈老老老板 发布时间:2023-11-23 07:15:37
一、达梦数据库简介
说明:有关国产数据库完整的博客太少了,所以就想弄一个完整的专栏给大家提供一些帮助。在现在这种国际形势下,网络安全是每个企业,乃至整个国家重中之重的事,国产化是一种趋势,在整合之前先了解一下达梦数据库。达梦数据库官网:本篇主要讲整合,详细介绍会在别的文章中。
1.达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。
达梦数据库管理系统的最新版本是8.0版本,简称DM8。
2.DM8采用全新的体系架构,在保证大型通用的基础上,针对可靠性、高性能、海量数据处理和安全性做了大量的研发和改进工作,极大提升了达梦数据库产品的性能、可靠性、可扩展性,能同时兼顾OLTP和OLAP请求,从根本上提升了DM8产品的品质。
二、Mybatis整合达梦数据库
说明:本篇使用的是SpringBoot框架+JPA+达梦数据库的整合。
项目运行环境:
idea2020.2
DM8
jdk1.8
springboot 2.3.12.RELEASE
1、创建项目
其实创建项目可以省略的,但是还是给大家展示出来吧。详细的步骤就不啰嗦了。
注:选择组件就选lombok就OK了。其实我项目中使用的是springboot2.3.12.RELEASE
,因为适配用,非常的稳定。大家自己改用项目版本就可以了。
2、添加坐标
注:mybatis-spring-boot-starter
不用写version就按springboot版本适配就行,而Dm8JdbcDriver18是8以上版本。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--达梦数据库驱动-->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>Dm8JdbcDriver18</artifactId>
<version>8.1.1.49</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
</dependencies>
项目截图:
3.编写配置文件
注:这里需要先创建一个ZY的模式,在模式下创建一个TESTDB1的表,表中字段:自增Integer id,String name。和一个叫ZY的用户名密码是123456789,这里按自己的更改就可以了,mapper-locations要注意自己的mapper的位置进行更改。
spring:
datasource:
url: jdbc:dm://127.0.0.1:5236?schema=ZY
username: ZY
password: 123456789
driver-class-name: dm.jdbc.driver.DmDriver
mybatis:
# 注意这里按自己的mapper文件位置进行更改
mapper-locations: classpath*:mapper/*Mapper.xml
这里给大家看一下我的项目结果,mapper
的位置和yml
文件。
4.编写实体类
注:这里如果对mybatis
了解的话,就需要写一个实体类与数据库表进行映射。这里是在ZY的模式下,TESTDB1表的字段id,name。这里按自己创建的库改也没问题。
@Data
public class TestDB1 {
private Integer id;
private String name;
}
项目截图:
5.Mapper类(dao)
注:这里要注意要写@Mapper
注解,才能与mapper
中的sql
进行映射。这里是四个方法查询、新增、修改、删除。
@Mapper
public interface TestDB1Mapper {
List<TestDB1> select (Integer id);
void save(String name);
void update(@Param("id") Integer id,@Param("name") String name);
void delete(Integer id);
}
项目截图:
6.Mapper.xml文件
注:这里需要注意namespace
要与Mapper
类映射。id
要与Mapper
类中的方法名映射。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--这里表名大写小写都可以,字段大小写都可以-->
<mapper namespace="com.sql.mybatisdm.mapper.TestDB1Mapper">
<insert id="save">
insert into testdb1(name) values(#{name});
</insert>
<select id="select" resultType="com.sql.mybatisdm.domain.TestDB1">
select id,name from testdb1 where id = #{id}
</select>
<update id="update" >
update TESTDB1 set NAME = #{name} where id = #{id};
</update>
<delete id="delete">
delete from TESTDB1 where id = #{id};
</delete>
</mapper>
项目截图:
7.Test测试文件
注:这些方法要新填入数据,在进行其他的操作。都是ok的直接用就行,如果有问题可以私信我。
@SpringBootTest
class MybatisdmApplicationTests {
@Autowired
private TestDB1Mapper testDB1Mapper;
/**
* 保存
*/
@Test
void save() {
testDB1Mapper.save("clllb");
List<TestDB1> select = testDB1Mapper.select(1);
System.out.println(select);
}
/**
* 查询
*/
@Test
void select(){
List<TestDB1> select = testDB1Mapper.select(2);
System.out.println(select);
}
/**
* 修改
*/
@Test
void update() {
testDB1Mapper.update(1,"CLLLB");
List<TestDB1> select = testDB1Mapper.select(1);
System.out.println(select);
}
/**
* 删除
*/
@Test
void delete(){
testDB1Mapper.delete(1);
List<TestDB1> select = testDB1Mapper.select(1);
System.out.println(select);
}
}
项目截图:
来源:https://blog.csdn.net/weixin_47343544/article/details/127837408
猜你喜欢
- poi解析Excel文件版本问题解决办法poi解析Excel文件时有两种格式: HSSFWorkbook格式用来解析Excel2003(xl
- 引言备忘录模式经常可以遇到,譬如下面这些场景:浏览器回退:浏览器一般有浏览记录,当我们在一个网页上点击几次链接之后,可在左上角点击左箭头回退
- 最近做一个需求,需求中的bean只用于生成一次json使用,所以想通过配置来动态的生成,查了一下,java还真有这个实现。java动态的生成
- 如下所示:package cn.sunzn.md5;import java.security.MessageDigest;import ja
- Handler是什么?Handler 是一个可以实现多线程间切换的类,通过 Handler 可以轻松地将一个任务切换到 Handler 所在
- 本文实例讲述了spring mvc 实现获取后端传递的值。分享给大家供大家参考,具体如下:jsp页面怎么获取从后端传递过来的值?JSTL 方
- 写在前面关于数据结构,Java官方其实已经帮我们写好并封装起来了,在真正需要使用的时候直接调用即可,但为了更好的理解数据结构,我会按照源码的
- 这篇文章主要介绍了springboot如何使用AOP做访问请求日志,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 1、 流的继承关系,以及字节流和字符流。2、 节点流FileOutputStream和FileInputStream和处理流Buffered
- 一.WebSocket简单介绍WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-d
- 本文实例汇总了Java的System.getProperty()方法获取信息的用法。分享给大家供大家参考。具体如下:System.out.p
- 本文实例为大家分享了Java操作qq邮箱发送邮件的具体代码,供大家参考,具体内容如下今天尝试了使用QQ邮箱的POP3/IMAP/SMTP/E
- 多线程的创建,方式一:继承于Thread类1.创建一个继承于Thread类的子类2.重写Thread类的run()--->将此线程执行
- 本文实例为大家分享了java实现简单的猜数字的具体代码,供大家参考,具体内容如下题目描述:猜数字(又称 Bulls and Cows )是一
- 这篇文章主要介绍了Java import导入及访问控制权限修饰符过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 本文实例讲述了Java基于享元模式实现五子棋游戏功能。分享给大家供大家参考,具体如下:一、模式定义享元模式,以共享的方式高效地支持大量的细粒
- 直接用英文逗号分隔就可以了,比如:inerface IHello { String sayHello(String name);
- 本文实例讲述了C++实现的链表类。分享给大家供大家参考。具体如下:#include <iostream>using namesp
- mybatis-plus自动配置mapper.xml与java接口映射本来没有mybatis-plus的话,这个工作是通过mybatis-s
- 前言本文的记录如何用CustomPaint、GestureDetector实现一个进度条控件。首先需要说明的是 flutter Materi