基于开源的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 追加

案例代码下载

相关推荐
tekin8 分钟前
Go、Java、Python、C/C++、PHP、Rust 语言全方位对比分析
java·c++·golang·编程语言对比·python 语言·php 语言·编程适用场景
李长渊哦1 小时前
Java 虚拟机(JVM)方法区详解
java·开发语言·jvm
陌殇殇2 小时前
002 SpringCloudAlibaba整合 - Feign远程调用、Loadbalancer负载均衡
java·spring cloud·微服务
猎人everest3 小时前
SpringBoot应用开发入门
java·spring boot·后端
山猪打不过家猪5 小时前
ASP.NET Core Clean Architecture
java·数据库·asp.net
AllowM5 小时前
【LeetCode Hot100】除自身以外数组的乘积|左右乘积列表,Java实现!图解+代码,小白也能秒懂!
java·算法·leetcode
不会Hello World的小苗6 小时前
Java——列表(List)
java·python·list
二十七剑7 小时前
jvm中各个参数的理解
java·jvm
东阳马生架构8 小时前
JUC并发—9.并发安全集合四
java·juc并发·并发安全的集合
计算机小白一个8 小时前
蓝桥杯 Java B 组之岛屿数量、二叉树路径和(区分DFS与回溯)
java·数据结构·算法·蓝桥杯