版权声明:本文为博主原创文章,欢迎转载,但请注明作者及文章出处,博文有什么不正之处欢迎指正。 https://blog.csdn.net/try_try_try/article/details/80608166
1.引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
2.配置信息
spring:
data:
mongodb:
uri: mongodb://192.168.10.173:27017
database: test
username: admin
password: admin
3.自定义实体类
public class User {
@Id
public long id;
public String name;
public int age;
...
3. 继承MongoRepository
public interface UserRepository extends MongoRepository<User, String> {
public List<User> findByAge(int age);
}
4.测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootMongodbApplicationTests {
@Autowired
UserRepository userRepository;
@Test
public void contextLoads() {
userRepository.deleteAll();
userRepository.save(new User("Alice", 18));
System.out.println("findAll-------------------");
for (User user : userRepository.findAll()) {
System.out.println(user.toString());
}
System.out.println("findByAge-------------------");
System.out.println(userRepository.findByAge(18).toString());
}
}
5.测试结果分析
到此我们已经完成了MongoDB的CRUD,我们发现实现方式跟SpringDataJPA有着同样的数据操作方式,数据接口通过继承MongoRepository就可以让我们可以使用与JPA相同的方法进行操作MongoDB文档内的数据。但是MongoDB不支持主键自增,所以这里只能添加一条数据,添加第二条的时候会报错。
MongoDB的主键自增请参考我的另一篇博文:https://blog.csdn.net/try_try_try/article/details/80612666。