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

案例代码下载

相关推荐
有梦想的攻城狮20 分钟前
spring-cloud-alibaba-nacos-config使用说明
java·spring·nacos·springcloud·配置中心
Yan-英杰2 小时前
【百日精通JAVA | SQL篇 | 第三篇】 MYSQL增删改查
java·数据库·sql
矛取矛求3 小时前
C++ 标准库参考手册深度解析
java·开发语言·c++
cijiancao3 小时前
23 种设计模式中的解释器模式
java·设计模式·解释器模式
南七行者3 小时前
对模板方法模式的理解
java·设计模式·模板方法
麻芝汤圆4 小时前
MapReduce 的广泛应用:从数据处理到智能决策
java·开发语言·前端·hadoop·后端·servlet·mapreduce
努力的搬砖人.4 小时前
java如何实现一个秒杀系统(原理)
java·经验分享·后端·面试
哈哈哈哈哈哈哈哈哈...........4 小时前
【java】在 Java 中,获取一个类的`Class`对象有多种方式
java·开发语言·python
fallwind_of_july4 小时前
java项目分享-分布式电商项目附软件链接
java·redis·分布式·mongodb·elasticsearch·微服务·rabbitmq
武昌库里写JAVA4 小时前
Golang的消息中间件选型
java·开发语言·spring boot·学习·课程设计