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


猜你喜欢
- 作用mybatis-plus接口mapper方法中的注解(如@Select)或者xml(如)传入的参数是通过#{param}或者${para
- SpringBoot集成Mybatis时mybatis.mapper-locations和@MapperScan的作用1、mybatis.m
- 本文实例讲述了Java采用循环链表结构求解约瑟夫问题的方法。分享给大家供大家参考。具体分析如下:这是第一次java考试的试题,对于没看过链表
- springboot开启一个监听线程执行任务public class StartApplicationListener implements
- 简单的理解,MyBatis逆向工程,就是通过相应插件,自动生成MyBatis数据库连接的一些文件。mybatis需要编写sql语句,myba
- 本文实例讲述了Spring实战之方法级别缓存用法。分享给大家供大家参考,具体如下:一 配置文件<?xml version="
- 前言在消息发送过程中,生产者从NameServer中获取到了指定Topic对应的Broker信息,在同步发送消息的代码中,如果消息发送失败,
- java中的set接口有如下的特点:不允许出现重复元素;集合中的元素位置无顺序;有且只有一个值为null的元素。因为java中的set接口模
- 同步代码块基本语句synchronized (任意对象) {操作共享代码}代码示例public class SellTicket imple
- 本文实例讲述了C#实现系统托盘通知的方法。分享给大家供大家参考。具体实现方法如下:namespace WindowsApplication1
- 值栈:值栈是一个集合中的几个对象保持下列对象提供的顺序:值栈可以通过JSP,Velocity或者Freemarker的标签。有各种不同的标签
- 在做Android支付的时候肯定会用到支付宝支付, 根据官方给出的demo做起来非常费劲,所以我们需要一次简单的封装。 封装的代码也很简单,
- 本文主要介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件。除此之外,本文还讲述如何用行为(Behavior
- list页面的字段要求可以根据用户的喜好进行排序,所以每个用户的字段都对应着不同的顺序(字段顺序存数据库),我们从数据库里取出来的值是对象,
- 本文实例分析了Android中BaseAdapter的用法。分享给大家供大家参考,具体如下:最近做一个项目,项目中用到了ListView,L
- 引言大家应该都知道,对Excel表格设置分页对我们预览、打印文档时是很方便的,特别是一些包含很多复杂数据的、不规则的表格,为保证打印时每一页
- 常量池中各数据项类型详解(续)(8) CONSTANT_Class_info常量池中的一个CONSTANT_Class_info,
- 本文实例为大家分享了java实现双色球机选 * 的具体代码,供大家参考,具体内容如下双色球号码1~32不重复选6个(排序好),1~16中
- 网上C#导出Excel的方法有很多。但用来用去感觉不够自动化。于是花了点时间,利用特性做了个比较通用的导出方法。只需要根据实体类,自动导出想
- 四种隔离机制不要忘记:(1,2,4,8)1.read-uncommitted:能够去读那些没有提交的数据(允许脏读的存在)2.read-co