java创建mongdb数据库_【转发】Java使用MongoDB数据库进行增删改查
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26584263/article/details/82585657
1、MongoDB数据库用户的创建
由于MongoDB安装默认的账户是没有密码的,是对所有ip 都开放的。我选择了新建一个用户来访问数据库,首先直接点击bin目录下的mongo.exe启动数据库
使用admin数据库,新建一个用户
use admin //使用admin数据库
db.createUser({user:"ceshi",pwd:"123456",roles:["root"]}) //新建测试用户
db.auth("ceshi","123456") //验证用户存不存在
我新建了一个测试用户,密码是123456,用户角色是root用户就是超级管理员嘛
然后使用该账户登录
mongo --port 27017 -u "adminUser" -p "adminPass" --authenticationDatabase "admin"
例如:mongo --port 27017 -u "ceshi" -p "123456" --authenticationDatabase "admin"
或
mongo admin -u "adminUser" -p "adminPass"
例如:mongo admin -u "ceshi" -p "123456"
使用cmd命令窗口,路径定位到mongodb目录下的bin路径,输入登录数据库的语句进行操作,可以参考下图:
2、MongoDB新建数据库和集合
新建一个test的数据库,并且新建一个user的集合id是自增的
use ceshidata //创建一个数据库ceshidata
db.createCollection("user",{capped:true,autoIndexId:true}) //新建一个集合user,_id自增
3、java使用MongoDB数据库简单教程
新建一个maven项目工程,导入mongodb相关依赖的jar
org.mongodb
mongo-java-driver
3.8.0
新建一个类MongoDBTest
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MongoDBTest {
public static void main(String args[] ){
try{
//ServerAddress()两个参数分别为 服务器地址 和 端口
ServerAddress serverAddress = new ServerAddress("localhost",27017);
//MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
MongoCredential credential = MongoCredential.createScramSha1Credential("ceshi", "admin", "123456".toCharArray());
//通过连接认证获取MongoDB连接
MongoClient mongoClient = new MongoClient(Arrays.asList(serverAddress), Arrays.asList(credential));
//连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("ceshidata");
System.out.println("<______________mongodb>");
create(mongoDatabase); //创建集合
add(mongoDatabase);//新增数据
find(mongoDatabase);//查看数据
update(mongoDatabase);//修改数据
delete(mongoDatabase);//删除数据
}catch(Exception e){
System.err.println("!!MongoDB数据库连接异常:" + e.getMessage() );
}
}
public static void create(MongoDatabase a){
try{
a.createCollection("user");
System.out.println("集合创建成功");
}catch(Exception e){
System.err.println( "!!集合创建异常:" + e.getMessage() );
}
}
public static void find(MongoDatabase a){
try {
MongoCollection list = a.getCollection("user");
FindIterable findIterable = list.find();
MongoCursor mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println("查询的数据:" + mongoCursor.next());
}
}catch(Exception e){
System.err.println( "!!数据查询异常:" + e.getMessage() );
}
}
public static void add(MongoDatabase a) {
try {
//新增两个学生和教师的数据
MongoCollection collections = a.getCollection("user");
Document document1 = new Document("name", "学生").
append("age", 18).
append("type", "学生").
append("likesport", "打乒乓球");
Document document2 = new Document("name", "学生").
append("age", 19).
append("type", "学生").
append("likesport", "打羽毛球");
Document document3 = new Document("name", "老师").
append("age", 33).
append("type", "教师").
append("likeTv", "湖南Tv");
Document document4 = new Document("name", "老师").
append("age", 30).
append("type", "教师").
append("likeTv", "星空卫视");
List documents = new ArrayList();
documents.add(document1);
documents.add(document2);
documents.add(document3);
documents.add(document4);
collections.insertMany(documents);
System.out.println("数据插入成功");
}catch(Exception e){
System.err.println( "!!数据新增异常:" + e.getMessage() );
}
}
public static void update(MongoDatabase a){
try {
MongoCollection mongoCollection = a.getCollection("user");
//修改满足条件的第一条数据
mongoCollection.updateOne(Filters.eq("name", "老师"), new Document("$set", new Document("address", "深圳市福田区")));
//修改所以满足条件的数据
mongoCollection.updateMany(Filters.eq("name", "老师"), new Document("$set", new Document("likeTv", "CCTV-1")));
FindIterable findIterable = mongoCollection.find();
MongoCursor mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println("更新后的数据:" + mongoCursor.next());
}
}catch(Exception e){
System.err.println( "!!数据更新异常:" + e.getMessage() );
}
}
public static void delete(MongoDatabase a){
try {
MongoCollection collection = a.getCollection("user");
//删除符合条件的第一个文档
collection.deleteOne(Filters.eq("name", "老师"));
//删除所有符合条件的文档
collection.deleteMany(Filters.eq("name", "学生"));
//检索查看结果
FindIterable findIterable = collection.find();
MongoCursor mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println("删除后的数据:" + mongoCursor.next());
}
}catch(Exception e){
System.err.println( "!!数据删除异常:" + e.getMessage() );
}
}
}
就对于MongoDB而言如果某条数据没有某属性就不需要使用, 只需要写入有的属性,这就是nosql的好处吧。
下面就是上面的程序运行的结果,我们使用MongoDB命令新建了user集合所以使用java语言新建集合就会报异常(数据集合已经存在的异常)老师数据修改的时候可以发现第一个老师修改的时候新增了一个地址address,MongoDB中只要是相同的主键就会修改,没有就会新增,修改和删除都可以指定对第一个数据或者全部满足条件的数据操作。
————————————————
版权声明:本文为CSDN博主「天雨流芳-128」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_26584263/article/details/82585657
java创建mongdb数据库_【转发】Java使用MongoDB数据库进行增删改查相关推荐
- java dao修改语句_一个通用的DAO模型实现增删改查
首先三个架包: mysql-connector-java-jar commons-dbcp-1.4jar commons-pool-1.5.5jar 导进去: (从上往下一次调用,实现功能) ---- ...
- GZFramwork数据库层《四》单据主从表增删改查
同GZFramwork数据库层<三>普通主从表增删改查 不同之处在于:实例 修改为: 直接上效果: 项目源码下载地址:https://github.com/GarsonZhang/GZFr ...
- 【SpringBoot集成ElasticSearch 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(配置+增删改查测试源码)【推荐使用】
1.简介 SpringBoot 项目初始化时就有 NoSQL 选项 Spring Data Elasticsearch(Access+Driver) 此时 pom 文件里引入的依赖是 spring-b ...
- Java操作Mongodb数据(增删改查聚合查询)
文章目录 一.Java操作MongoDB 二.使用步骤 1.基础配置 2.实体类 3.MongoDB表数据 3.增删改查聚合查询 总结 一.Java操作MongoDB 上一篇文章介绍了,如何在本地使用 ...
- 怎么用php操作mysql删除数据库代码_如何使用php操作mysql的增删改查?
php操作mysql的增删改查方法:1.插入语句[insert into 数据表名(字段1,字段2,....) values("值1","值2",..)]:2. ...
- 使用eclipse创建基于SSM+Maven的小项目(简单的增删改查)
使用eclipse创建基于SSM+Maven的增删改查 开发环境 效果图 数据库 项目如下: 项目结构及pom.xml 资源文件夹 db.properties mybatis-config.xml a ...
- [Golang数据库专题3]Golang语言操作SQLite3进行增删改查
目录 一.SQLite3安装(linux) 1.2 在线安装 开始安装 目录下创建db 执行表创建语句 二.方案选型 三.编写代码 3.1 代码运行环境准备 Go语言环境 SQLite3生成db 3. ...
- 使用v-cli创建项目,引入element-ui构建用户管理页面实现增删改查
文章目录 前言 一.使用v-cli创建vue项目文件 二.引入element-ui 三.开始实现功能 1.初步页面,表格绘制 2.实现增加功能 3.实现修改和删除功能 4.实现查询操作 总结 前言 记 ...
- java 创建oracle链接_使用Java创建与oracle db的ssl连接
我正在尝试使用 Java和SSL连接到Oracle数据库.现在我在服务器上有数据库的Java程序. 我尝试运行它时收到此错误(注释中的完整错误): java.sql.SQLRecoverableExc ...
- java中ArrayList用法详解,基本用法(含增删改查)
1.什么是ArrayList ArrayList就是 动态数组,它提供了 ①动态的增加和减少元素 ②实现了ICollection和IList接口 ③灵活的设置数组的大小 ArrayList是一个其 ...
最新文章
- wx.getLocation 的使用
- 云原生实战派:2021 让改变发生,2022 让创新升级
- Product Long text - children usage
- Erlang 位串和二进制数据
- Blender全新毛发工具演示露出,预计9月份正式更新
- python爬虫网络库下载_Python3 DHT 网络磁力种子爬虫
- 软件工程工具图(软件开发过程中可能用到的工具图)
- eyoucms使用入门 三
- 华为机试6-质因数分解
- 阿里云接受邮件服务器是什么,接收邮件服务器pop3
- python编写程序输出诗句_python基于词向量的古诗生成器
- 计算机中解决不匹配,电脑显示屏显示不匹配.怎么办
- 单片机定时器一1ms12MHz_51单片机CPU结构各部件的原理详细分析
- AlphaPose环境配置与测试
- 大数据之电信项目架构
- 用户画像标签维度_用户画像详解:关于用户画像的What、Why、How
- 复数与三角函数的转换
- 极简html4网页布局,浅淡极简的网页设计:少即多
- Web SQL 学习笔记
- MonoRail和WebForm,谁是瑞士军刀
热门文章
- CIC 滤波器——不同长度的5级CIC滤波器的频谱特性
- ubuntu下查看硬件信息等指令整理,安装并简单运行HotSpot
- IMF: Interactive Multimodal Fusion Model for Link Prediction
- 这样写的邮件,客户回复率几乎高达100%
- 安卓10 来电流程梳理
- C++学习——g++对成员函数的undefined reference 未定义引用,但只有在编译release时才会出现。
- python实现多重排序(多级排序)
- acm国家集训队论文(1999-2009)
- python引用自己写的文件
- linux 文件格式latin1,Linux查看文件编码格式