2019-04-02 14:37:49 3024浏览
今天扣丁学堂Java培训老师给大家分享一篇关于java连接mongoDB并进行增删改查操作,结合实例形式详细分析了java环境下MongoDB扩展包的下载、安装及操作MongoDB连接、增删改查等相关操作技巧。
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.0.4</version> </dependency> </dependencies>
//连接到 mongodb 服务 MongoClient mongoClient = new MongoClient("localhost", 27017);
//连接到 mongodb 服务,默认端口号为27017 MongoClient mongoClient = new MongoClient("localhost");
//连接到 mongodb 服务,默认连接到localhost服务器,端口号为27017 MongoClient mongoClient = new MongoClient();
List<ServerAddress> adds = new ArrayList<>(); //ServerAddress()两个参数分别为 服务器地址 和 端口 ServerAddress serverAddress = new ServerAddress("localhost", 27017); adds.add(serverAddress); List<MongoCredential> credentials = new ArrayList<>(); //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码 MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray()); credentials.add(mongoCredential); //通过连接认证获取MongoDB连接 MongoClient mongoClient = new MongoClient(adds, credentials);
//连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
import com.mongodb.MongoClient; import com.mongodb.client.MongoDatabase; //mongodb 连接数据库工具类 public class MongoDBUtil { //不通过认证获取连接数据库对象 public static MongoDatabase getConnect(){ //连接到 mongodb 服务 MongoClient mongoClient = new MongoClient("localhost", 27017); //连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); //返回连接数据库对象 return mongoDatabase; } //需要密码认证方式连接 public static MongoDatabase getConnect2(){ List<ServerAddress> adds = new ArrayList<>(); //ServerAddress()两个参数分别为 服务器地址 和 端口 ServerAddress serverAddress = new ServerAddress("localhost", 27017); adds.add(serverAddress); List<MongoCredential> credentials = new ArrayList<>(); //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码 MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray()); credentials.add(mongoCredential); //通过连接认证获取MongoDB连接 MongoClient mongoClient = new MongoClient(adds, credentials); //连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); //返回连接数据库对象 return mongoDatabase; } }
//获取集合 MongoCollection<Document> collection = MongoDBUtil.getConnect().getCollection("user");
//创建文档 Document document = new Document("name","张三") .append("sex", "男") .append("age", 18);
//插入一个文档 @Test public void insertOneTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //要插入的数据 Document document = new Document("name","张三") .append("sex", "男") .append("age", 18); //插入一个文档 collection.insertOne(document); }
//插入多个文档 @Test public void insertManyTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //要插入的数据 List<Document> list = new ArrayList<>(); for(int i = 1; i <= 3; i++) { Document document = new Document("name", "张三") .append("sex", "男") .append("age", 18); list.add(document); } //插入多个文档 collection.insertMany(list); }
//删除与筛选器匹配的单个文档 @Test public void deleteOneTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //申明删除条件 Bson filter = Filters.eq("age",18); //删除与筛选器匹配的单个文档 collection.deleteOne(filter); }
//删除与筛选器匹配的所有文档 @Test public void deleteManyTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //申明删除条件 Bson filter = Filters.eq("age",18); //删除与筛选器匹配的所有文档 collection.deleteMany(filter); }
//修改单个文档 @Test public void updateOneTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //修改过滤器 Bson filter = Filters.eq("name", "张三"); //指定修改的更新文档 Document document = new Document("$set", new Document("age", 100)); //修改单个文档 collection.updateOne(filter, document); }
//修改多个文档 @Test public void updateManyTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //修改过滤器 Bson filter = Filters.eq("name", "张三"); //指定修改的更新文档 Document document = new Document("$set", new Document("age", 100)); //修改多个文档 collection.updateMany(filter, document); }
//查找集合中的所有文档 @Test public void findTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //查找集合中的所有文档 FindIterable findIterable = collection.find(); MongoCursor cursor = findIterable.iterator(); while (cursor.hasNext()) { System.out.println(cursor.next()); } }
//指定查询过滤器查询 @Test public void FilterfindTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //指定查询过滤器 Bson filter = Filters.eq("name", "张三"); //指定查询过滤器查询 FindIterable findIterable = collection.find(filter); MongoCursor cursor = findIterable.iterator(); while (cursor.hasNext()) { System.out.println(cursor.next()); } }
//取出查询到的第一个文档 @Test public void findTest(){ //获取数据库连接对象 MongoDatabase mongoDatabase = MongoDBUtil.getConnect(); //获取集合 MongoCollection<Document> collection = mongoDatabase.getCollection("user"); //查找集合中的所有文档 FindIterable findIterable = collection.find(); //取出查询到的第一个文档 Document document = (Document) findIterable.first(); //打印输出 System.out.println(document); }以上就是关于扣丁学堂java培训之连接mongoDB并进行增删改查操作实例详解,想要学好Java开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的Java学习路线图辅助学员学习,此外还有与时俱进的Java视频教程供大家学习,想要学好Java开发技术的小伙伴快快行动吧。扣丁学堂Java技术交流群:670348138。
【关注微信公众号获取更多学习资料】 【扫码进入HTML5前端开发VIP免费公开课】