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

郑州投资网站建设做视频找素材的网站

郑州投资网站建设,做视频找素材的网站,涟源网络建站,大良网站设计在SpringBoot项目中集成MongoDB后的一些基本操作。 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 本文介绍的内容是Springboot如何集成MongoDB,以及对MongoDB进行基本的增加、查询数据的操作。 提示:以下是本篇…

在SpringBoot项目中集成MongoDB后的一些基本操作。

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


前言

本文介绍的内容是Springboot如何集成MongoDB,以及对MongoDB进行基本的增加、查询数据的操作。


提示:以下是本篇文章正文内容,下面案例可供参考

一、MongoDB是什么?

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前 NoSql 数据库中比较热门的一种。MongoDB 中的一条记录就是一个文档,与JSON类似。
 

二、使用步骤一

1、引入库

代码如下(示例):

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

2、配置Mongodb连接地址

代码如下(示例):

spring.data.mongodb.uri=mongodb://127.0.0.1:27017/admin 


3、创建实体类:

package com.hjxmongodb.mongdb.entity;import org.springframework.data.mongodb.core.mapping.Document;import lombok.Data;/**
* 包名称:com.hjxmongodb.mongdb.entity
* @version 创作时间:2023年11月6日上午11:16:04
*
*/
@Document
@Data
public class User {private String id;private String name;private int age;private String gender;private String email;}

4、创建自己的Repository接口类并实现 MongoRepository 接口

package com.hjxmongodb.mongdb.repository;import org.springframework.data.mongodb.repository.MongoRepository;import com.hjxmongodb.mongdb.entity.User;/**
* 包名称:com.hjxmongodb.mongdb.repository
* @version 创作时间:2023年11月9日上午10:16:06
*
*/public interface UserRepository extends MongoRepository<User, String> {}

5、增加、查询数据

查询代码如下:

package com.hjxmongodb.mongdb;import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.Random;
import java.util.UUID;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;import com.hjxmongodb.mongdb.entity.User;
import com.hjxmongodb.mongdb.repository.UserRepository;/**
* 包名称:com.hjxmongodb.mongdb
* @version 创作时间:2023年11月9日上午10:58:19
*
*/@SpringBootTest
public class MongoRepositoryTest {@Autowiredprivate UserRepository userRepository;/*** 批量增加数据* 使用MongoRepository 批量插入数据*/@Testvoid createUsers() {Random random = new Random();Collection<User> userList = new ArrayList<User>();for (int i = 0; i < 100000; i++) {User user = new User();user.setId(UUID.randomUUID().toString().replace("-", ""));user.setAge(random.nextInt(22, 50));user.setGender(random.nextInt(0, 2)+"");user.setName("hjx" + random.nextInt(10000));user.setEmail("hjx"+random.nextInt(10000)+"wm@163.com");userList.add(user);}System.out.println("批量插入数据:" + userList.size());userList = userRepository.insert(userList);System.out.println("保存成功 : " + userList.size());}@Testvoid findUser() {System.out.println("使用MongoRepository 来查询数据...");//查询所有的数据List<User> userList =userRepository.findAll();for (User user : userList) {System.out.println(user);}//根据ID查询单个数据Optional<User> user = userRepository.findById("f777728d4779450e81c30fcf2c38dfe0");System.out.println(user.get());}@Testvoid findByCondition() {System.out.println("根据条件配置来查询数据...");User user = new User();user.setAge(32);Example<User> example = Example.of(user);List<User> tempUser =userRepository.findAll(example);System.out.println(tempUser.size());}@Testvoid findByConditions() {System.out.println("根据条件模糊查询数据...");ExampleMatcher exampleMatcher = ExampleMatcher.matching().withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING).withIgnoreCase(true);User userExample = new User();userExample.setName("99");userExample.setAge(32);userExample.setGender("1");Example example = Example.of(userExample,exampleMatcher);List<User> resultList =userRepository.findAll(example);System.out.println(resultList.size());}@Testvoid findByPages() {System.out.println("分页查询数据...");for (int i = 0; i < 10; i++) {Pageable pageable =PageRequest.of(i, 10);User userExample = new User();userExample.setAge(32);Example example = Example.of(userExample);Page<User> pages =userRepository.findAll(example, pageable);System.out.println(pages.getContent());System.out.println(pages.getContent().size());System.out.println(pages.getNumber());System.out.println(pages.getSize());System.out.println("------------------------");}}}

三、方式二:使用MongoTemplate 来操作数据库

全部代码如下:

package com.hjxmongodb.mongdb;import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Random;
import java.util.UUID;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;import com.hjxmongodb.mongdb.entity.User;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;/*** 包名称:com.hjxmongodb.mongdb* @version 创作时间:2023年11月9日上午10:09:09**/@SpringBootTest
public class MongoTemplateTest {@Autowiredprivate MongoTemplate mongoTemplate;static final String collectionName = "user";@Testvoid collectionExists() {System.out.println("创建集合,即数据库");// 判断是否已经存在该集合名称boolean collectionNameExists = mongoTemplate.collectionExists(collectionName);if (!collectionNameExists) {MongoCollection<org.bson.Document> document = mongoTemplate.createCollection(collectionName);System.out.println(document.toString());} else {System.out.println(collectionName + " is exists.");}}@Testvoid create() {System.out.println("批量增加数据...");Random random = new Random();Collection<User> userList = new ArrayList<User>();for (int i = 0; i < 100000; i++) {User user = new User();user.setId(UUID.randomUUID().toString().replace("-", ""));user.setAge(random.nextInt(22, 50));user.setGender(random.nextInt(0, 2) + "");user.setName("hjx" + random.nextInt(10000));user.setEmail("hjx" + random.nextInt(10000) + "wm@163.com");userList.add(user);}System.out.println("批量插入:" + userList.size() + "条数据。");List<User> t = (List<User>) mongoTemplate.insert(userList, collectionName);System.out.println("保存成功 : " + t.size());}@Testvoid findUser() {System.out.println("根据条件查找用户信息...");Query query = new Query();Criteria criteria = Criteria.where("age").gte(30); // 年龄等于30Criteria nameCriteria = Criteria.where("name").regex("99"); // 名称中包括99Criteria andCriteria = new Criteria();andCriteria.andOperator(criteria, nameCriteria);query.addCriteria(andCriteria);query.limit(400);List<User> userList = mongoTemplate.find(query, User.class, collectionName);System.out.println(userList.size());userList.forEach(item -> System.out.println(item));}@Testvoid findAll() {System.out.println("分页按条件查询数据....");Query query = new Query();Criteria criteria = Criteria.where("age").gte(30); // 年龄大于等于30Criteria nameCriteria = Criteria.where("name").regex("99"); // 名称中包含有99Criteria andCriteria = new Criteria();andCriteria.andOperator(criteria, nameCriteria);query.addCriteria(andCriteria);for (int i = 0; i < 10; i++) {Pageable pageable = PageRequest.of(i, 10);//每页查询10条数据query.with(pageable);List<User> pages = mongoTemplate.find(query, User.class, collectionName);System.out.println(pages.size());System.out.println(pages);System.out.println("------------------------");}}@Testvoid findallUser() {System.out.println("查询所有数据,循环输出....");List<User> user = mongoTemplate.findAll(User.class, collectionName);// 第一种循环打印数据的方式:user.forEach(item -> System.out.println(item));// 第二种循环打印数据的方式:user.forEach(System.out::println);}@Testvoid update() {System.out.println("更新用户信息...");Criteria updateCriteria = Criteria.where("age").is(22);Update updateItem = new Update();updateItem.set("age", 32);UpdateResult result = mongoTemplate.updateMulti(new Query(updateCriteria), updateItem, User.class,collectionName);System.out.println(result.toString());}@Testvoid delete() {System.out.println("删除用户信息...");Criteria updateCriteria = Criteria.where("age").is(35);DeleteResult result = mongoTemplate.remove(new Query(updateCriteria), User.class, collectionName);System.out.println(result);}//	@Testvoid deleteAll() {System.out.println("删除所有用户信息...");//方式1:删除所有数据
//		DeleteResult result = mongoTemplate.remove(new Query(), collectionName);
//		System.out.println(result);//方式2:删除所有数据,删除集合就可以了。mongoTemplate.dropCollection(collectionName);}}


总结

以上就是在SpringBoot项目中集成MongoDB后的一些基本操作。本文简单介绍了MongoDB增加、查询、分页查询、删除数据等的操作,希望对伙伴们有一点点帮助。

http://www.yayakq.cn/news/337619/

相关文章:

  • 石家庄商城网站搭建多少钱使用框架开发wordpress
  • 为公益组织做网站冯耀宗seo
  • 常熟市住房建设局网站重庆荣昌网站建设
  • 网站推广方法的费用传奇辅助网站怎么建设
  • 汕头网站建设详细内容wordpress_ joomla_ drupal
  • 做企业网站的多少钱wordpress host头攻击
  • 网站开发项目书企业营销型网站制作
  • 网页设计制作网站代码网站访问pv量是指什么
  • 传统网站网站精准营销的概念是什么
  • 重庆市官方网站福田保安公司招聘
  • 佛山网站建设公司哪专业上海平面设计公司排名
  • 莞城网站推广媒体网站 建设网络强国
  • 新乡网站优化公司货运公共平台
  • 代理机构做的网站找不到人了怎么办婚庆公司报价套餐
  • 做窗帘的厂家网站WordPress cosy破解版
  • 团风网站建设百度游戏
  • 大理网站建设沛宣常州互联网公司排名
  • 网站运营推广方法总结湖南省居民健康卡二维码下载
  • wordpress新用户无法注册搜索引擎优化seo的策略主要有
  • 网站建设开题报告中的问题wordpress 订单系统
  • 中职网站建设qq电脑版官网入口
  • 珠海公司网站建设网站主页排版
  • 网站利润分析深圳网站制作 优选灵点网络
  • 怎么建立一个公司网站wordpress 扁平化主题下载
  • 行业网站建设教程系统优化有何作用
  • 苏州市姑苏区建设局网站网页设计教育培训哪里好
  • 建个网站花钱做百度推广建设网站域名备案
  • 做电脑网站与手机上的一样吗很多网站没排名了
  • 12380网站开发中恒建设集团有限公司 网站
  • 最新网站建设技术域名邮箱企业邮箱