21-页面查询服务端开发-Dao-分页查询测试

创建dao文件

在这里插入图片描述

package com.xuecheng.manage_cms.dao;
import com.xuecheng.framework.domain.cms.CmsPage;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface CmsPageRepository extends MongoRepository<CmsPage,String> {
}

这个dao文件去继承MongoRepository类,MongoRepository类中封装了很多操作数据库的方法
在这里插入图片描述

在test单元测试中,创建dao的测试类

在这里插入图片描述
@SpringBootTest会找包下边的spring-boot的启动类ManageCmsApplication
这个启动类里有很多扫描的设置,会扫描指定包下边的bin,加入spring容器,这时候就可以从容器中拿到CmsPageRepository这个dao文件 ,如下:

 @Autowired
    CmsPageRepository cmsPageRepository;
spring-data的mongodb虽然我们这里定义了接口,通过扫描cmsPageRepository这个接口,他会生成接口的代理对象,那么我们可以把代理对象注入到这个测试类当中。所以可以调用MongoRepository的方法。

运行结果

在这里插入图片描述

调试bug

在这里插入图片描述

注意坑

在查询mongo表中所有数据的时候,如果查询条件有时间,先确保此表中的所有时间格式一样。
我都在这个坑里呆了好久。
因为mongo的cms_page表中有个别数据的时间格式是整型数字,导致查询一直报错,No converter found capable of converting from type [java.lang.Double] to type [java.util.Date]
时间格式不对
所以把时间格式不对的数据,改为正确的时间格式ISODate(“2018-04-21T01:45:47.870+0000”),全部一样的数据格式,这样就不再报错
在这里插入图片描述

在这里插入图片描述

分页查询

import org.springframework.data.domain.Pageable;

    //分页查询
    @Test
    public void testFindPage(){
        //分页参数
        int page = 1;//从0开始
        int size = 10;
        Pageable pageable = PageRequest.of(page,size);
        Page<CmsPage> all = cmsPageRepository.findAll(pageable);
        System.out.println(all);
    }

数据库连接方式

server:
  port: 31003
spring:
  application:
    name: xc-service-manage-cms
  data:
    mongodb:
      uri:  mongodb://fyf:123456@localhost:27017
      database: xc_cms

如果连接数据库超时,改为以下连接方法,如果还不行,建议创建一个新的账户密码并指明读写权限和可以操作的数据库
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值