当前位置: 首页> 科技> IT业 > 中国造价信息网官网_5g网络公司经营范围_百度网址大全网址导航_百度seo算法

中国造价信息网官网_5g网络公司经营范围_百度网址大全网址导航_百度seo算法

时间:2025/7/10 8:59:09来源:https://blog.csdn.net/iteye_9939/article/details/144484537 浏览次数:0次
中国造价信息网官网_5g网络公司经营范围_百度网址大全网址导航_百度seo算法

1、基于MongoRepository操作 mongodb

配置mongodb上一个文件有提现,这里就不写了。

Docker创建一个mongodb实例,并用springboot连接 mongodb进行读写文件-CSDN博客

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>
</dependencies>
@Data
@Document(collection = "User")
public class User {@Idprivate String id;private String name;private Integer age;private String email;private String createDate;
}
@Repository
public interface UserRepository extends MongoRepository<User, String> {
}
@ActiveProfiles("test")
@SpringBootTest
public class MongoRepositoryTest {@Autowiredprivate UserRepository userRepository;@Testpublic void createTest() {User user = new User();user.setAge(20);user.setName("张三");user.setEmail("123@qq.com");User user1 = userRepository.save(user);System.out.println(user1);}@Testpublic void findAllTest() {List<User> list = userRepository.findAll();System.out.println(list);}@Testpublic void findByIdTest() {Optional<User> optional = userRepository.findById("6195b9a5c6e3b8f8a0e8c6e3");optional.ifPresent(System.out::println);}@Testpublic void findConditionTest() {//name="张三" and age = 20User user = new User();user.setAge(20);user.setName("张三");Example<User> example = Example.of(user);userRepository.findAll(example);}@Testpublic void findLikeTest() {//设置模糊查询规则ExampleMatcher matcher = ExampleMatcher.matching();matcher.withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING).withIgnoreCase(true);User user = new User();user.setAge(20);user.setName("m");Example<User> example = Example.of(user,matcher);userRepository.findAll(example);}@Testpublic void findPageTest(){int pageNo = 1;int pageSize = 2;Pageable pageable = PageRequest.of(pageNo, pageSize);User user = new User();user.setAge(20);user.setName("张三");Example<User> example = Example.of(user);Page<User> page = userRepository.findAll(example, pageable);System.out.println(page.getTotalElements());}@Testpublic void updateTest(){User user = userRepository.findById("6195b9a5c6e3b8f8a0e8c6e3").get();user.setName("李四");User user1 = userRepository.save(user);System.out.println(user1);}@Testpublic void removeTest(){userRepository.deleteById("6195b9a5c6e3b8f8a0e8c6e3");}}

2、基于MongoTemplate操作mongodb

import com.bilibili.domain.User;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
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 org.springframework.test.context.ActiveProfiles;import java.util.List;
import java.util.regex.Pattern;@SpringBootTest
@ActiveProfiles("test")
public class MongoTemplateTest {@Autowiredprivate MongoTemplate mongoTemplate;private static final String ID = "675bdbb2d3031003cab59e2f";@Testpublic void createTest() {User user = new User();user.setAge(20);user.setName("张三");user.setEmail("123@qq.com");User user1 = mongoTemplate.insert(user);System.out.println(user1);}@Testpublic void findAllTest() {List<User> list = mongoTemplate.findAll(User.class);System.out.println(list);}@Testpublic void findByIdTest() {User user = mongoTemplate.findById(ID, User.class);System.out.println(user);}@Testpublic void findConditionTest() {Query query = new Query(Criteria.where("name").is("张三").and("age").is(20));List<User> userList = mongoTemplate.find(query, User.class);System.out.println(userList);}@Testpublic void findLikeTest() {String name = "张三";String regex = String.format("%s%s%s","^.*",name,".*$");// 模糊查询Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);Query query = new Query(Criteria.where("name").regex(pattern));List<User> userList = mongoTemplate.find(query, User.class);System.out.println(userList);}@Testpublic void findPageTest(){int pageNo = 1;int pageSize = 2;Query query = new Query();//查询记录数long count = mongoTemplate.count(query, User.class);//分页查询 (pageNo - 1) * pageSize 表示开始位置List<User> list = mongoTemplate.find(query.skip((pageNo - 1) * pageSize).limit(pageSize), User.class);System.out.println(count);System.out.println(list);}@Testpublic void updateTest(){//更新所有符合条件的数据User user = mongoTemplate.findById(ID, User.class);user.setName("李四");user.setAge(30);//过滤条件Query query = new Query(Criteria.where("_id").is(user.getId()));//更新内容Update update = new Update();update.set("name",user.getName());update.set("age",user.getAge());UpdateResult upsert = mongoTemplate.upsert(query, update, User.class);//更新条数long modifiedCount = upsert.getModifiedCount();System.out.println(modifiedCount);}@Testpublic void removeTest(){Query query = new Query(Criteria.where("_id").is(ID));DeleteResult remove = mongoTemplate.remove(query, User.class);//删除条数long deletedCount = remove.getDeletedCount();System.out.println(deletedCount);}
}

关键字:中国造价信息网官网_5g网络公司经营范围_百度网址大全网址导航_百度seo算法

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: