今天,让我们继续MongoDB学习之旅吧~~
话不多说,直接上货~~
一.IDEA项目环境搭建
首先,需要在IDEA创建一个父类项目
步骤一:创建maven项目
步骤二:确定项目坐标(项目名,项目位置、组、标识、版本)
项目名,组,位置都可以自定义
com.czxy.xuecheng
xc_parent
1.0-SNAPSHOT
步骤三:配置父项目Pom.xml依赖
org.springframework.boot
spring-boot-starter-parent
2.1.4.RELEASE
UTF-8
1.8
Greenwich.RELEASE
1.3.2
2.0.3
1.2.3
1.1.9
5.1.32
1.16.20
2.6
1.3.2
1.3.3
1.10
3.6
3.9.1
8.18.0
2.7.0
1.2.9
1.27.0.0
24.0-jre
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud-release.version}
pom
import
org.mybatis.spring.boot
mybatis-spring-boot-starter
${mybatis.starter.version}
tk.mybatis
mapper-spring-boot-starter
${mapper.starter.version}
com.github.pagehelper
pagehelper-spring-boot-starter
${pageHelper.starter.version}
com.alibaba
druid-spring-boot-starter
${druid.starter.version}
mysql
mysql-connector-java
${mysql-connector-java.version}
com.squareup.okhttp3
okhttp
${okhttp.version}
com.netflix.feign
feign-okhttp
${feign-okhttp.version}
commons-io
commons-io
${commons-io.version}
org.apache.commons
commons-io
${org.apache.commons.io.version}
commons-fileupload
commons-fileupload
${commons-fileupload.version}
commons-codec
commons-codec
${commons-codec.version}
org.apache.commons
commons-lang3
${commons-lang3.version}
io.springfox
springfox-swagger2
${springfox-swagger.version}
io.springfox
springfox-swagger-ui
${springfox-swagger.version}
net.oschina.zcx7878
fastdfs-client-java
${fastdfs-client-java.version}
com.google.guava
guava
${guava.version}
spring-milestones
Spring Milestones
https://repo.spring.io/milestone
false
步骤四:创建子项目
只要加个项目名即可,后面配置,如同前面一样
步骤五:添加子类Pom.xml依赖
org.springframework.boot
spring-boot-starter-test
org.mongodb
mongo-java-driver
3.4.3
二. MongoDBJava入门命令操作
可以直接创建一个测试类即可快速操作基本命令
1. 获得连接
方式1:连接本地数据库
/*** 方式1:连接本地数据库*/@Testpublic voidtestconn() {
//采用连接字符串MongoClient mongoClient = newMongoClient("localhost", 27017);
System.out.println(mongoClient);
}
方式2:采用连接字符串
连接字符串uri 要写数据库db
如果可以不写,它就直接按照名字相同的第一个数据库,所以想要精确哪个确定数据库, 就在url后面写连接的数据库名
/*** 方式2:采用连接字符串*/@Testpublic voidtestconn2() {
//获得连接//1.拼接连接字符串MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017/demo");
//2.获得连接MongoClient mongoClient = newMongoClient(mongoClientURI);
System.out.println(mongoClient);
}
2. 连接字符串知识小锦囊
命令格式
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
mongodb:// 固定前缀
username:账号,可不填
password:密码,可不填
host:主机名或ip地址,只有host主机名为必填项。
port:端口,可不填,默认27017
/database:连接某一个数据库
?options:连接参数,key/value对
实例
-- 连接本地数据库27017端口
mongodb://localhost
-- 使用用户名root密码为1234连接本地数据库27017端口
mongodb://root:1234@localhost
-- 连接三台主从服务器,端口为27017、27018、27019
mongodb://localhost,localhost:27018,localhost:27019
3. 查询第一个
/*** 查询第一条*/@Testpublic voidtestFindOne() {
//查询一个//1.获得连接MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017/demo");
MongoClient mongoClient = newMongoClient(mongoClientURI);
//2.获得数据库MongoDatabase database = mongoClient.getDatabase("demo");
//3.获得集合MongoCollection student = database.getCollection("book");
//4.查询操作Document document = student.find().first();
//5.将文档转换json,并输出System.out.println(document.toJson());
}
4. 创建集合
/*** 创建集合*/@Testpublic voidtestCreateColl() {
//1.获得连接MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017");
MongoClient mongoClient = newMongoClient(mongoClientURI);
//2.获得数据库MongoDatabase database = mongoClient.getDatabase("demo");
//创建连接database.createCollection("teacher");
}
5. 插入一个文档
/*** 添加文档*/@Testpublic voidtestinsert() {
//1.获得连接MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017");
MongoClient mongoClient = newMongoClient(mongoClientURI);
//2.获得数据库MongoDatabase database = mongoClient.getDatabase("demo");
//3.获得集合MongoCollection collection = database.getCollection("teacher");
//4.准备文档Document document = newDocument();
document.append("username", "jack");
document.append("password", "1234");
document.append("age", 18);
//5.录入文档collection.insertOne(document);
}
6.批量插入文档
/*** 批量插入文档*/@Testpublic voidtestinserts() {
//1.获得连接MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017");
MongoClient mongoClient = newMongoClient(mongoClientURI);
//2.获得数据库MongoDatabase database = mongoClient.getDatabase("demo");
//3.获得集合MongoCollection collection = database.getCollection("teacher");
//4.准备文档Document document = newDocument();
document.append("username", "aca");
document.append("password", "434");
document.append("age", 28);
Document document2 = newDocument();
document2.append("username", "aab");
document2.append("password", "234");
document2.append("age", 43);
List list = newArrayList<>();
list.add(document);
list.add(document2);
//5.录入文档collection.insertMany(list);
}
7. 查询所有
/*** 查询所有*/@Testpublic voidtestFindall() {
//1.获得连接MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017");
MongoClient mongoClient = newMongoClient(mongoClientURI);
//2.获得数据库MongoDatabase database = mongoClient.getDatabase("demo");
//3.获得集合MongoCollection collection = database.getCollection("teacher");
//4.查询所有FindIterable findIterable = collection.find();
//5.处理数据(遍历迭代器)MongoCursor it = findIterable.iterator();
while(it.hasNext()) {
Document document = it.next();
String username = document.get("username", String.class);
String password = document.get("password", String.class);
Integer age = document.get("age", Integer.class);
System.out.println(username + "_"+ password + "_"+ age);
}
}
8.更新文档
/*** 更新*/@Testpublic voidtestupdate() {
//1.采用连接字符串MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017/");
MongoClient mongoClient = newMongoClient(mongoClientURI);
//2.获得数据库MongoDatabase demo = mongoClient.getDatabase("demo");
//3.获得集合MongoCollection teacher = demo.getCollection("teacher");
//4.更新teacher.updateOne(Filters.eq("age", 18), newDocument("$set", newDocument("name", "aaa")));
}
9.替换文档
/***替换文档*/@Testpublic voidtestReplace(){
//1.获得连接MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017");
MongoClient mongoClient = newMongoClient(mongoClientURI);
//2.获得数据库MongoDatabase demo = mongoClient.getDatabase("demo");
//3.获得集合MongoCollection teacher = demo.getCollection("teacher");
//4.更新Document doc = newDocument("password", "999");
teacher.replaceOne(Filters.eq("username","tom"),doc);
}
10.删除文档
/*** 删除文档*/@Testpublic voidtestdelete(){
//1.获得连接MongoClientURI mongoClientURI = newMongoClientURI("mongodb://root:root@localhost:27017");
MongoClient mongoClient = newMongoClient(mongoClientURI);
//2.获得数据库MongoDatabase demo = mongoClient.getDatabase("demo");
//3.获得集合MongoCollection teacher = demo.getCollection("teacher");
//4.删除teacher.deleteOne(Filters.eq("username","jack"));
}
看完恭喜你,又知道了一点点!!!
你知道的越多,不知道的越多!
~感谢志同道合的你阅读, 你的支持是我学习的最大动力 !加油 ,陌生人一起努力,共勉!!