当前位置: 首页 > 工具软件 > Ming-MongoDB > 使用案例 >

四、Springboot连接mongodb

能向晨
2023-12-01

Springboot连接mongodb博客

Springboot连接mongodb,mongodb是一个非关系型数据库,文档型数据库,存储的内容是JSON格式的文档,文档中可以包含各种类型的数据。
Springboot连接mongodb需要引入mongoDB的驱动依赖,在pom.xml中添加:

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

在application.properties中添加mongoDB的连接配置:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=test

在Springboot启动类中添加@EnableMongoRepositories注解开启MongoDB的Repository功能:

@SpringBootApplication
@EnableMongoRepositories
public class Application {
   public static void main(String[] args) {
       SpringApplication.run(Application.class, args);
   }
}

接下来就可以注入MongoRepository来对MongoDB进行CURD操作了:

@Autowired
private MongoRepository<User,Long> userRepository;

User是实体类,Long是主键类型。

@Data
public class User {
   private Long id;
   private String username;
   private String password;
}

测试代码:

@Test
public void testMongoDB(){
   //插入
   User user = new User();
   user.setUsername("xiaoming");
   user.setPassword("123456");
   userRepository.insert(user);
   //查询
   User result = userRepository.findById(1L);
   //更新
   user.setPassword("654321");
   userRepository.save(user);
   //删除
   userRepository.deleteById(1L);
}

MongoRepository提供了很多常用的方法:

  • insert:插入
  • save:保存(更新或插入)
  • findById:根据id查询
  • findAll:查询所有
  • count:统计数量
  • deleteById:根据id删除
  • existsById:判断id是否存在
  • findBy***:根据属性查询
    MongoRepository继承Repository接口,Repository接口提供了分页查询的方法:
  • Page findAll(Pageable pageable)
  • Page findBy*** (Pageable pageable,*)
    Pageable参数可以指定:
  • 页数
  • 每页记录数
  • 排序字段和排序方式
    @Query注解可以自定义复杂查询,如正则查询、分页等高级查询:
@Query("{username : { $regex : '.*ming.*'}}")
List<User> findByUsernameLike();

以上就是Springboot连接MongoDB的基本使用了,更多高级用法可以参考Spring Data MongoDB官方文档。

上一章:三、mongdb 查询

下一章:五、spring-data-mongodb中Java字段映射注解

 类似资料: