環境搭建
添加Repository類
@Repository
public interface UserRepository extends MongoRepository<User, String> {
}
添加操作
package com.study;
import com.study.mongodb.entiity.User;
import com.study.mongodb.repository.UserRepository;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SpringbootMongoDbApplicationTest1 {
@Autowired
private UserRepository userRepository;
//添加操作
@Test
void create(){
User user = new User();
user.setAge(20);
user.setName("zhangsan");
user.setEmail("963330213@qq.com");
User user1 = userRepository.save(user);
System.out.println(user1);
}
}
查詢操作
1.查詢所有
//查詢所有
@Test
void findAll(){
List<User> userList = userRepository.findAll();
System.out.println(userList);
}
2.根據id查詢
//根據id查詢
@Test
void findById(){
User user = userRepository.findById("611a2f1f5e7124132f365fa7").get();
System.out.println(user);
}
3.條件查詢
//條件查詢
@Test
void findUserList(){
//name = zhangsan and age = 20
User user = new User();
user.setName("zhangsan");
user.setAge(20);
Example<User> userExample = Example.of(user);
List<User> users = userRepository.findAll(userExample);
System.out.println(users);
}
4.模糊查詢
//模糊查詢
@Test
void findLikeUserList(){
//設置模糊查詢匹配規則
ExampleMatcher matcher = ExampleMatcher.matching()
.withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING)
.withIgnoreCase(true);//忽略大小寫
User user = new User();
user.setName("z"); //包含z的數據
Example<User> userExample = Example.of(user,matcher);
List<User> users = userRepository.findAll(userExample);
System.out.println(users);
}
5.分頁查詢
//分頁查詢
@Test
void findPageUserList(){
//分頁
Pageable pageable = PageRequest.of(0, 3);//0代表第一頁,3顯示3個字段
User user = new User();
user.setName("zhangsan");
Example<User> userExample = Example.of(user);
Page<User> page = userRepository.findAll(userExample, pageable);
System.out.println(page);
}
修改操作
//修改操作
@Test
void updateUser(){
User user = userRepository.findById("611a2f1f5e7124132f365fa7").get();
user.setAge(18);
user.setName("lisi");
User save = userRepository.save(user); //有id則修改,無id則變成添加操作
System.out.println(save);
}
刪除操作
//刪除操作
@Test
void deleteUser(){
userRepository.deleteById("611a2f1f5e7124132f365fa7");
}