【开源Mongdb驱动】SpringBoot+Mybatis+Mongdb融合使用教程

本文主要是介绍【开源Mongdb驱动】SpringBoot+Mybatis+Mongdb融合使用教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#【开源Mongdb驱动】SpringBoot+Mybatis+Mongdb无缝融合使用教程

介绍

本文介绍一款基于JAVA开源的mongodb jdbc驱动为基础的无缝与springboot+mybatis融合使用案例

mongodb JDBC 使用案例

https://blog.csdn.net/gongbing798930123/article/details/135002530
《基于开源的JAVA mongodb jdbc 驱动 使用教程》

功能价值

  1. 与mybaits融合:复用mybatis的功能特性,如:缓存,if动态判断标签等特性
  2. 开发更加便捷: 统一dao层,使代码更具维护性,同时操作mongodb 便捷
  3. 产品融合能力: 作为底层组件,可以与BI、低代码平台等需要JDBC特性产品融合能力

开源地址

https://gitee.com/bgong/jdbc-mongodb-driver

代码操作指南

meavn pom文件依赖

<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><groupId>com.mongo.jdbc.example</groupId><artifactId>mongo-jdbc-springboot-example</artifactId><version>0.0.1-SNAPSHOT</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-nacos.version>2.2.8.RELEASE</spring-nacos.version><gson.version>2.9.0</gson.version><spring-cloud.version>2020.0.2</spring-cloud.version></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.2</version><relativePath/></parent><dependencies><!-- 核心包  start   ---><dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver</artifactId><version>3.11.2</version></dependency><dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-core</artifactId><version>3.11.2</version></dependency><dependency><groupId>org.mongodb</groupId><artifactId>bson</artifactId><version>3.11.2</version></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.2</version></dependency><dependency><groupId>com.mongo.jdbc</groupId><artifactId>jdbc-mongodb-driver</artifactId><version>1.0.0</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/libs/mongo-connector-java-1.0.0.jar</systemPath>
</dependency><!-- 核心包  end   ---><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 热部署  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>provided</scope></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>${gson.version}</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><sourceDirectory>src/main/java</sourceDirectory><resources><resource><filtering>true</filtering><directory>src/main/resources</directory><excludes><exclude>**/*.properties</exclude></excludes></resource></resources><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!--<source>1.8</source><target>1.8</target><encoding>UTF-8</encoding>--><includeSystemScope>true</includeSystemScope><executable>true</executable><fork>true</fork></configuration><version>2.7.0</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
</project>

application-dev.properties 配置


spring.datasource.driverClassName=com.mongo.jdbc.Driver
spring.datasource.url=jdbc:mongo://10.28.55.226:27017/demo_db?isSSL=false
spring.datasource.username=
spring.datasource.password=
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration,org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration
spring.datasource.initial-size=2

JDBC连接串说明

例如:jdbc:mongo://localhost:27017/db_name?isSSL=false
jdbc:mongo://为固定标示,标示为mongodb jdbc 驱动连接串
localhost:27017 :连接的主机和短裤
db_name :为数据库名称
isSSL=false :mongodb连接配置参数,如有多配置参加可以在后面用&keyxx=valuex 追加

Dao层

package com.mongo.jdbc.example.dao;import java.util.Map;import org.apache.ibatis.annotations.Mapper;import com.mongo.jdbc.example.entity.UserEntity;/*** * @author:binggong* @createtime: 2023年12月10日 下午7:18:22 * @version:V.0.1* @tag:  **/
@Mapper
public interface IUserDao {/***  写入数据* @param data* @throws Exception*/public void addData(UserEntity data) throws Exception;/***  查询数据* @param dname* @return* @throws Exception*/public Map getData(String dname) throws Exception;}

Mybatis 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.mongo.jdbc.example.dao.IUserDao"><insert id="addData" parameterType="com.mongo.jdbc.example.entity.UserEntity">db.tb_user.insert({"deptno":#{deptno},"dname":#{dname},"loc":#{loc}})</insert><select id="getData" resultType="java.util.Map" parameterType="java.lang.String">db.tb_user.find({"dname":#{dname}})</select></mapper>

详细源码下载

在这里插入图片描述

这篇关于【开源Mongdb驱动】SpringBoot+Mybatis+Mongdb融合使用教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/495784

相关文章

springboot将lib和jar分离的操作方法

《springboot将lib和jar分离的操作方法》本文介绍了如何通过优化pom.xml配置来减小SpringBoot项目的jar包大小,主要通过使用spring-boot-maven-plugin... 遇到一个问题,就是每次maven package或者maven install后target中的ja

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Java中八大包装类举例详解(通俗易懂)

《Java中八大包装类举例详解(通俗易懂)》:本文主要介绍Java中的包装类,包括它们的作用、特点、用途以及如何进行装箱和拆箱,包装类还提供了许多实用方法,如转换、获取基本类型值、比较和类型检测,... 目录一、包装类(Wrapper Class)1、简要介绍2、包装类特点3、包装类用途二、装箱和拆箱1、装

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创