使用操作mongodb数据库JPA的版本
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.0.1.RELEASE</verison>
</dependency>
下面是我写的测试的代码,但是不知道为什么取不出来数据
@Autowired
CmsPageRepository cmsPageRepository;
@Test
public void testFindAllByExample(){
int page = 0;
int size = 10;
Pageable pageable = PageRequest.of(page,size);
CmsPage cmsPage = new CmsPage();
cmsPage.setSiteId("1");
System.out.println(cmsPage);
//条件查询配匹器
ExampleMatcher exampleMatcher = ExampleMatcher.matching();
Example<CmsPage> example =Example.of(cmsPage,exampleMatcher);
Page<CmsPage> all = cmsPageRepository.findAll(example, pageable);
List<CmsPage> content = all.getContent();
System.out.println(content);
}
这个是cmsPageRepository对象接口
public interface CmsPageRepository extends MongoRepository<CmsPage,String> {
}
需要查询的字段在对象中是存在的
实体类里面的注解也应该是对的
但是我不知道为什么数据库里面的数据取不出来,也没有错误提示,请教下,谢谢
你好!你能否断点调试一下,首先你能打印出来数据说明你肯定是调用进来了,如果打印的数据也是您想要的,那么恭喜你,筛选条件最起码是没问题的,那么现在定位
到数据库层面,先将你的查询条件,在你需要查询的数据库以及表中查询一边,用可视化工具,也就是即操作MDB的工具查一遍,这个有点类似与通过SQL查询,如果查
询到数据证明,您的查询是没有错的,然后看一下你配置文件是否将数据库配置正确,有可能是数据库层面出现错误,如果数据依然没查出来,希望你新建一个条数据,
然后再次进行查询,希望这个筛选方法对你能有帮助。