当前位置: 首页 > news >正文

网站开发答辩设计预期目标做网页多少钱一个页面

网站开发答辩设计预期目标,做网页多少钱一个页面,萨龙wordpress,球形网架结构厂家本文介绍NoSQL技术:MongoDB用Java来连接数据库,执行常见的数据库操作,使用环境:IntelliJ IDEA、Ubuntu24.04。 配置Maven 我们需要使用“MongoDB Driver”,所以先打开“MongoDB Java Driver”项目,但是提…

本文介绍NoSQL技术:MongoDB用Java来连接数据库,执行常见的数据库操作,使用环境:IntelliJ IDEA、Ubuntu24.04。

配置Maven

我们需要使用“MongoDB Driver”,所以先打开“MongoDB Java Driver”项目,但是提示说这个项目已经不维护了,被“mongodb-driver-sync”这个项目替代了:

我们根据链接,跳转到“mongodb-driver-sync”项目,这个项目的名称显示为“MongoDB Driver”

在maven项目的pom.xml文件中添加依赖:

<!-- https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-sync -->
<dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-sync</artifactId><version>5.0.1</version>
</dependency>

点击右侧的Maven,展开Dependencies,可以看到新的一个mongodb的依赖包已经导入进来了:

与MongoDB建立连接(Java模式)

首先在项目中建立一个”mongodb”的包

编写一个类,测试一下MongoDB能否连通。

MongoClient mongoClient = new MongoClient("192.168.70.150", 27017);   //这种方法已经淘汰

重写写一个类来完成Mongdb的连接测试。但是,MongoDB如果直接连由于安全问题会访问拒绝,我们需要在Ubuntu中配置关闭防火墙,同时还需要配置mongodb允许远程使用(默认为仅本地访问),才能从远程访问。

执行下列代码:

sudo vim /etc/mongod.conf

把bindIp修改为0.0.0.0,然后保存

在nosql这台虚拟机上执行下列代码来重启mongodb服务:

sudo service mongod restart

执行代码

package MongoDB;import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
// import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;public class TestMongoDB {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");    // 创建数据库school1database.createCollection("teacher");  // 创建集合teacherSystem.out.println("集合创建成功!");}}
}

显示集合创建成功!

在nosql这台虚拟机的shell模式下查看,发现school1数据库和集合teacher都已经创建成功

说明:

(1)在Java 源代码中,Java tryO0用法中,括号(的作用属于Java7的新特性。

经常会用try-catch来捕获有可能抛出异常的代码。如果其中还涉及到资源的使用的话,最后在finally块中显示的释放掉有可能被占用的资源。

但是如果资源类已经实现了AutoCloseable这个接口的话,可以在 tryO括号中可以写操作资源的语句(IO操作),会在程序块结束时自动释放掉占用的资源,不用再在finally块中手动释放了。

原文链接:https://blog.csdn.net/qq_25112523/article/details/124746116

在MongoDB中新增数据

在MongoDB中新增数据有两种方法,第一种是增加一条数据(文档),第二种是增加多条数据(文档)。

方法一:增加一条数据(文档)

package MongoDB;import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.result.InsertOneResult;
import com.mongodb.MongoException;import org.bson.Document;
import org.bson.types.ObjectId;import java.util.Arrays;public class InsertOne {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");MongoCollection<Document> collection = database.getCollection("teacher");try {// 在集合teacher中增加一条数据InsertOneResult result = collection.insertOne(new Document().append("_id", new ObjectId()).append("name", "zhangsan").append("course", Arrays.asList("Big Data Technology", "Web Front-end Programming")));// 输出新增的文档内容System.out.println("成功! 新增文档的id: " + result.getInsertedId());// 如果出现异常,则打印该异常} catch (MongoException me) {System.err.println("Unable to insert due to an error: " + me);}}}
}

在Shell中查询

方法二:增加多条数据(文档)

package MongoDB;import java.util.Arrays;
import java.util.List;import org.bson.Document;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.InsertManyResult;public class InsertMany {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");MongoCollection<Document> collection = database.getCollection("teacher");// 创建两个包含name和age属性的文档,注意这里和InsertOne的格式不同,这并没有什么关系List<Document> teacherList = Arrays.asList(new Document().append("name", "Alice").append("age", 30),new Document().append("name", "Bob").append("age", 40));try {// 把文档增加到teacher集合中InsertManyResult result = collection.insertMany(teacherList);// 打印返回的id值System.out.println("新增文档的id值: " + result.getInsertedIds());// 如果出现异常,则打印该异常} catch (MongoException me) {System.err.println("Unable to insert due to an error: " + me);}}}
}

在Shell中查询:

在MongoDB中查询数据

在MongoDB中查询数据有两种方法,第一种是查询一条数据(文档),第二种是查询多条数据(文档)。

方法一:查询一条数据(文档)

package MongoDB;import static com.mongodb.client.model.Filters.eq;import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Projections;
import com.mongodb.client.model.Sorts;public class FindOne {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");MongoCollection<Document> collection = database.getCollection("teacher");// 先把有name属性的文档过滤出来Bson projectionFields = Projections.fields(Projections.include("name"),Projections.excludeId());// 返回满足条件的第一个文档Document doc = collection.find(eq("name", "zhangsan")).projection(projectionFields).sort(Sorts.descending("name")).first();// 没有找到则告之未找到,否则把该文档用JSON格式输出if (doc == null) {System.out.println("没有找到文档");} else {System.out.println(doc.toJson());}}}
}

方法二:查询多条数据(文档)

package MongoDB;import static com.mongodb.client.model.Filters.lt;import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Projections;
import com.mongodb.client.model.Sorts;public class Find {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");MongoCollection<Document> collection = database.getCollection("teacher");// 先把有name和age属性的文档过滤出来Bson projectionFields = Projections.fields(Projections.include("name", "age"),Projections.excludeId());// 找到符合条件的文档,这里查询条件为年龄小于50岁,并用name逆序排列// 把查询结果用JSON格式打印出来try (MongoCursor<Document> cursor = collection.find(lt("age", 50)).projection(projectionFields).sort(Sorts.descending("name")).iterator()) {while (cursor.hasNext()) {System.out.println(cursor.next().toJson());}}}}
}

在MongoDB中更新数据

在MongoDB中更新数据有两种方法,第一种是更新一条数据(文档),第二种是更新多条数据(文档)。

方法一:更新一条数据(文档)

package MongoDB;import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.UpdateOptions;
import com.mongodb.client.model.Updates;
import com.mongodb.client.result.UpdateResult;public class UpdateOne {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");MongoCollection<Document> collection = database.getCollection("teacher");Document query = new Document().append("name", "Alice");// 更新文档的三个值,age是已经存在的属性,gender是新增的属性,currentTimestamp是新增的更新时间属性Bson updates = Updates.combine(Updates.set("age", 31),Updates.addToSet("gender", "Male"),Updates.currentTimestamp("lastUpdated"));// 如何没有找到符合查询条件的记录,则新增该记录UpdateOptions options = new UpdateOptions().upsert(true);try {// 更新符合条件的第一个文档UpdateResult result = collection.updateOne(query, updates, options);// 打印文档的属性System.out.println("修改文档的数据是: " + result.getModifiedCount());System.out.println("被修改的文档ID是: " + result.getUpsertedId());// 如果出现异常,则打印该异常} catch (MongoException me) {System.err.println("无法更新,异常是: " + me);}}}
}

程序这边有一定问题

在Shell中查询无问题

发现Alice这条数据已经被更新了。

方法二:更新多条数(文档)

package MongoDB;import static com.mongodb.client.model.Filters.gt;import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Updates;
import com.mongodb.client.result.UpdateResult;public class UpdateMany {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");MongoCollection<Document> collection = database.getCollection("teacher");// 查询条件是年龄大于30Bson query = gt("age", 30);// 更新文档的属性Bson updates = Updates.combine(Updates.addToSet("interests", "programming"),Updates.currentTimestamp("lastUpdated"));try {// 更新文档数据UpdateResult result = collection.updateMany(query, updates);// 答应更新结果System.out.println("更新文档的个数: " + result.getModifiedCount());// 如果出现异常,则打印该异常} catch (MongoException me) {System.err.println("Unable to update due to an error: " + me);}}}
}

在Shell中查询

发现Alice和Bob这两条数据已经被更新了。

在更新操作中,还有一类程序时把一个文档全部替换掉,你可以参考一下官方文档:

https://www.mongodb.com/docs/drivers/java/sync/current/usage-examples/replaceOne/

在MongoDB中删除数据(Java模式)

在MongoDB中删除数据有两种方法,第一种是删除一条数据(文档),第二种是删除多条数据(文档)。

方法一:删除一条数据(文档)

package MongoDB;import static com.mongodb.client.model.Filters.eq;import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult;public class DeleteOne {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");MongoCollection<Document> collection = database.getCollection("teacher");Bson query = eq("name", "zhangsan");try {// 删除满足条件的第一个文档DeleteResult result = collection.deleteOne(query);System.out.println("删除文档个数: " + result.getDeletedCount());// 如果出现异常,则打印该异常} catch (MongoException me) {System.err.println("Unable to delete due to an error: " + me);}}}
}

在Shell中查询

方法二:删除多条数据(文档)

package MongoDB;import static com.mongodb.client.model.Filters.lt;import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult;public class DeleteMany {public static void main(String[] args) {String uri = "mongodb://192.168.179.143:27017";  // 数据库连接uritry (MongoClient mongoClient = MongoClients.create(uri)) {MongoDatabase database = mongoClient.getDatabase("school1");MongoCollection<Document> collection = database.getCollection("teacher");Bson query = lt("age", 50);try {// 删除所有年龄小于50的问句DeleteResult result = collection.deleteMany(query);// 打印删除文档的数量System.out.println("Deleted document count: " + result.getDeletedCount());// 如果出现异常,则打印该异常} catch (MongoException me) {System.err.println("Unable to delete due to an error: " + me);}}}
}

在Shell中查询

teacher集合中已经没有数据了,因为一个三条数据,第一次(删除一条数据(文档)的那个程序)删了1条,第二次删了2条(删除多条数据(文档)的那个程序),所以就全部删光了

http://www.dtcms.com/a/425674.html

相关文章:

  • 怀化网站优化推荐中建八局第一建设有限公司设计院
  • 网站域名在哪里买重庆网站推广营销
  • 网站建设一般多少钱网址网站备份还原
  • 费用网站建设企联网登录
  • 传奇辅助网站怎么建设百度上做推广怎么收费
  • 重庆市建设节能中心网站如何构建网站平台
  • 高端网站配色设计一套网站价格
  • 浙江省水利建设行业协会网站公众号怎么制作左右滑动图片
  • 沈阳网站seo优化哪家好如何做优秀的视频网站
  • 学做烘焙网站网站建设合同要交印花税吗
  • 南沙开发区建设和交通局网站中华室内设计师
  • 如何让百度收录我的网站惠州百度seo在哪
  • 苏州网站开发建设方法广州公关公司招聘信息
  • 仿牌外贸网站旅游网站的网页设计素材
  • 山东网站备案公司晋江论坛晋江文学城网友留言区
  • 建电影网站广州网站推广软件
  • 做个简单的网站多少钱川畅咨询 的网络营销怎么做
  • 营销行网站建设购物类网站建设
  • 收录好的网站太原推广团队
  • 南宁有做网站的公司吗网站建设总费用
  • 舆情网站直接打开怎么弄哈巴河网站制作
  • 企业网站建设ppt创建网站需要哪些工作
  • 有没有教做网站的app口碑营销服务
  • 网站商城的意义电子商务网站开发设计报告
  • 中山做网站大埔建设工程交易中心网站
  • 五金配件东莞网站建设技术支持黄骅港信息贴吧
  • 中国网站建设市场分析报告word上下页边距不见了
  • 贵州网站建设设计公司哪家好产品营销方式有哪些
  • 网站建设中首页模板旅游网站开发设计文档
  • 常州网站建设最易wordpress 修改密码函数