dao是相当于操作数据库的
因为我们这个是页面的跳转的,所以用的是mongodb
package com.xuecheng.manage_cms.dao;
import com.xuecheng.framework.domain.cms.CmsPage;
import org.springframework.data.mongodb.repository.MongoRepository;
/**
* @Classname CmsPageRepository
* @Description TODO
* @Date 2020/2/13 14:14
* @Created by mmz
*/
public interface CmsPageRepository extends MongoRepository<CmsPage,String> {
}
然后在test下面创建测试类
package com.xuecheng.manage_cms.dao;
import com.xuecheng.framework.domain.cms.CmsPage;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
/**
* @Classname CmsPageRepositoryTest
* @Description TODO
* @Date 2020/2/13 14:17
* @Created by mmz
*/
@SpringBootTest
@RunWith(SpringRunner.class)
public class CmsPageRepositoryTest {
@Autowired
CmsPageRepository cmsPageRepository;
@Test
public void testFindAll(){
List<CmsPage> list = cmsPageRepository.findAll();
System.out.println(list);
}
}
创建了这个方法
首先这个注解
@SpringBootTest
代表了,该类运行的时候会去启动类运行
启动类运行的时候,就会扫描实体类,扫描接口,扫描本项目下面所有的类
所以在这个test方法中,用
@Autowired
CmsPageRepository cmsPageRepository;
可以获取这个dao,用spring去管理,所以在test测试方法中可以直接用这个类
这个接口继承了MongoRepository<CmsPage,String>
该类
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package org.springframework.data.mongodb.repository;
import java.util.List;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Sort;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.QueryByExampleExecutor;
@NoRepositoryBean
public interface MongoRepository<T, ID> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> {
<S extends T> List<S> saveAll(Iterable<S> var1);
List<T> findAll();
List<T> findAll(Sort var1);
<S extends T> S insert(S var1);
<S extends T> List<S> insert(Iterable<S> var1);
<S extends T> List<S> findAll(Example<S> var1);
<S extends T> List<S> findAll(Example<S> var1, Sort var2);
}
中的方法都可以进行调用,
找到所有Cms_page类
@Document(collection = "cms_page")
public class CmsPage {
这有一个注解,注解到了去mongodb数据库中查询cms_page下面所有的集合
按照findByXXX,findByXXXAndYYY、countByXXXAndYYY等规则定义方法,实现查询操作。