@SpringBootTest
class DemomongoApplicationTests {
//注入mongoTemplate
@Autowired
private MongoTemplate mongoTemplate;
//添加操作
@Test
public void create() {
User user = new User();
user.setAge(23);
user.setName("test");
user.setEmail("123@qq.com");
User user1 = mongoTemplate.insert(user);
System.out.println(user1);
}
//查询所有记录
@Test
public void findAll() {
List<User> all = mongoTemplate.findAll(User.class);
System.out.println(all);
}
//id查询
@Test
public void findById() {
User user = mongoTemplate.findById("61deafb914e05d43f9c32b88", User.class);
System.out.println(user);
}
//条件查询
@Test
public void findUserList() {
Query query = new Query(Criteria.where("name").is("test").and("age").is(23));
List<User> userList = mongoTemplate.find(query, User.class);
System.out.println(userList);
}
//模糊查询
@Test
public void findLikeUserList() {
String name = "test";
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);
}
@Test
public void findPageUserList() {
int pageNo = 1;
int pageSize = 3;
String name = "test";
//条件构建部分
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));
//分页构建
//查询记录数
long count = mongoTemplate.count(query, User.class);
//分页
List<User> users = mongoTemplate.find(query.skip((pageNo - 1) * pageSize).limit(pageSize), User.class);
System.out.println(users);
}
//修改
@Test
public void updateUser() {
//根据id查询
User user = mongoTemplate.findById("61deafb914e05d43f9c32b88", User.class);
//设置修改值
user.setName("test_1");
user.setAge(56);
user.setEmail("0000@qq.com");
//调用方法实现修改
Query query = new Query(Criteria.where("_id").is(user.getId()));
Update update = new Update();
update.set("name", user.getName());
update.set("age", user.getAge());
update.set("email", user.getEmail());
UpdateResult upsert = mongoTemplate.upsert(query, update, User.class);
long modifiedCount = upsert.getModifiedCount();
System.out.println(modifiedCount);
}
//删除
@Test
public void DeleteUser() {
Query query = new Query(Criteria.where("_id").is("61deafb914e05d43f9c32b88"));
DeleteResult remove = mongoTemplate.remove(query, User.class);
long deletedCount = remove.getDeletedCount();
System.out.println(deletedCount);
}
}
mongoTemplate基础操作
最新推荐文章于 2023-01-31 10:29:07 发布