基于开源的JAVA mongodb jdbc 驱动 使用教程

基于开源的JAVA mongodb jdbc 驱动 使用教程介绍

介绍

本文介绍一款开源的基于JAVA的 Mongodb JDBC 驱动使用教程

开源地址

复制代码
https://gitee.com/bgong/jdbc-mongodb-driver

功能价值

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

基于 Mongodb jdbc+springboot+mybatis融合案例

复制代码
https://blog.csdn.net/gongbing798930123/article/details/135003268
《【开源Mongdb驱动】SpringBoot+Mybatis+Mongdb融合使用教程》

代码操作指南

meavn pom文件依赖

复制代码
 <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver</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>

POM文件说明
mongo-connector-java-1.0.0.jar 因为没有放到meavn的公共库里面去,所以需要在开源地址下载里面对应的驱动包放在项目里面或者本地meavn仓库中。

操作代码

复制代码
package com.mongo.jdbc.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * 
 * @author:binggong
 * @createtime: 2023年12月10日 下午2:35:47 
 * @version:V.0.1
 * @tag:  mongodb jdbc 操作
 *
 */
public class JdbcMongoCommandExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			
			Class.forName("com.mongo.jdbc.Driver");
			
			/**
			 *  连接方案1
			 */
//			Properties properties = new Properties();
//			properties.put("user", "");
//			properties.put("password", "");
//			properties.put("address", "localhost:27017");
//			properties.put("dbname","demo_db");
//			properties.put("isSSL","false");
//			Connection conn = DriverManager.getConnection("", properties);
			
			
			/**
			 *  连接方案2
			 *  jdbc:mongo://localhost:27017/db_name?isSSL=false
			 */
			String jdbcUrl ="jdbc:mongo://localhost:27017/demo_db?isSSL=false";
			
			Connection conn = DriverManager.getConnection(jdbcUrl, null, null);
			 
			//写入操作
			String insertScript= "db.tb_user.insert({\"deptno\":?,\"dname\":?,\"loc\":?});";	
			PreparedStatement ps = conn.prepareStatement(insertScript);
			ps.setInt(1, 1);
			ps.setString(2, "数据中台部");
			ps.setString(3, "湖北武汉");
			
			ps.execute();
			
			
			//查询数据
			String queryScript = "db.tb_user.find()";
			
			 ps = conn.prepareStatement(queryScript);

			 ResultSet rs = ps.executeQuery();
			 
			 while(rs.next()) {
				String _id = rs.getString("_id");
				String deptno = rs.getString("deptno");
				String dname = rs.getString("dname");
				String loc = rs.getString("dname");
				
				System.out.println("_id:"+_id+"|deptno:"+deptno+"|dname:"+dname+"|loc:"+loc);

			 }
			 
			 //删除数据
			 String deleteScript = "db.tb_user.deleteMany({'loc':?})";
				
			 ps = conn.prepareStatement(deleteScript);
			 ps.setString(1, "湖北武汉");
				
			ps.execute();
			
			ps.close();
			
			
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		

	}

}

JDBC连接串说明

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

案例代码下载

相关推荐
pianmian11 小时前
类(JavaBean类)和对象
java
我叫小白菜2 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
Albert Edison2 小时前
【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目
java·spring boot·intellij-idea
超级小忍3 小时前
JVM 中的垃圾回收算法及垃圾回收器详解
java·jvm
weixin_446122463 小时前
JAVA内存区域划分
java·开发语言·redis
勤奋的小王同学~3 小时前
(javaEE初阶)计算机是如何组成的:CPU基本工作流程 CPU介绍 CPU执行指令的流程 寄存器 程序 进程 进程控制块 线程 线程的执行
java·java-ee
TT哇3 小时前
JavaEE==网站开发
java·redis·java-ee
2401_826097623 小时前
JavaEE-Linux环境部署
java·linux·java-ee
缘来是庄4 小时前
设计模式之访问者模式
java·设计模式·访问者模式
Bug退退退1234 小时前
RabbitMQ 高级特性之死信队列
java·分布式·spring·rabbitmq