Spring中如何集成MongoDB

Spring集成MongoDB

  1. 先引入包spring-data-mongodb
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>1.10.1.RELEASE</version>
</dependency>
  1. 在spring配置文件中 配置基本信息:
<mongo:mongo host="10.100.159.156" port="27017" />
<!--skyhammer 是数据库的名字-->
<mongo:db-factory dbname="skyhammer" mongo-ref="mongo"/>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean> 
  1. 编写测试代码:
@Autowired
private MongoTemplate mongoTemplate;

@RequestMapping("/mongoTest")
@ResponseBody
private  Object mongoTest()
{
    Query query = new Query();
    Criteria criteria = Criteria.where("taskId").is(1);
    query.addCriteria(criteria);
    List<Map> result = mongoTemplate.find(query, Map.class, "zabbixHistory");
    return result;
}

在集成过程中遇到如下错误:

这里写图片描述
这个错误是说找不到 这个findMergedAnnotation 方法,我们去 spring-core-annotation- AnnotatedElementUtils 真的没有找到,这是因为版本的问题。
解决方案:
修改spring的版本 改为4.3.5 。
运行成功,如下图所示:这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud集成MongoDB可以通过使用Spring Data MongoDB实现。Spring Data MongoDB是一个用于简化和简化与MongoDB交互的框架,它提供了一套简单的API,可以轻松地进行数据库操作。 首先,需要在pom.xml文件添加相关的依赖项: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> ``` 然后,在Spring Boot的主类上添加`@EnableMongoRepositories`注解,以启用MongoDB的支持: ```java @EnableMongoRepositories(basePackages = "com.example.repository") @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 其,`com.example.repository`是存放MongoDB相关的repository接口的包路径。 接下来,可以创建一个实体类来映射MongoDB的集合: ```java @Document(collection = "users") public class User { @Id private String id; private String name; private int age; // getters and setters } ``` 在这个例子,我们创建了一个名为"users"的集合,并在User类定义了id、name和age字段。 然后,可以创建一个继承自`MongoRepository`的接口来定义对于User集合的操作: ```java @Repository public interface UserRepository extends MongoRepository<User, String> { List<User> findByAge(int age); } ``` 在这个例子,我们定义了一个`findByAge`方法,用于根据年龄查询用户。 最后,可以在其他组件通过依赖注入的方式使用UserRepository来进行数据库操作: ```java @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> findByAge(int age) { return userRepository.findByAge(age); } } ``` 通过上述步骤,就可以很方便地使用Spring Cloud集成MongoDB进行数据库操作了。当然,除了上述的基本操作外,Spring Data MongoDB还提供了更多高级的功能,如聚合查询、分页查询等,可以根据具体需求进行扩展使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值