一、引入依赖,配置连接信息
依赖:
<!--mongodb依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
配置信息:
application.yml
spring:
data:
mongodb:
uri: mongodb://localhost:27017#mongodb的url
database: xc_cms
二、创建类和接口
创建模型
映射mongoDB数据库中,对应的集合
package com.itcast.model;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
import java.util.List;
/**
* 说明:
*
* @author LanPengBiao
* @version 1.0
* @Date: Created in 2021-10-21 11:18
*/
//cms_page对应mongodb中的集合名称
@Document(collection = "cms_page")
public class CmsPage {
/**
* 页面名称、别名、访问地址、类型(静态/动态)、页面模版、状态
*/
//站点ID
private String siteId;
//页面ID
@Id
private String pageId;
//页面名称
private String pageName;
//别名
private String pageAliase;
//访问地址
private String pageWebPath;
//参数
private String pageParameter;
//物理路径
private String pagePhysicalPath;
//类型(静态/动态)
private String pageType;
//页面模版
private String pageTemplate;
//页面静态化内容
private String pageHtml;
//状态
private String pageStatus;
//创建时间
private Date pageCreateTime;
//模版id
private String templateId;
//参数列表
private List<CmsPageParam> pageParams;
//模版文件Id
// private String templateFileId;
//静态文件Id
private String htmlFileId;
//数据Url
private String dataUrl;
public String getSiteId() {
return siteId;
}
public String getPageId() {
return pageId;
}
public String getPageName() {
return pageName;
}
public String getPageAliase() {
return pageAliase;
}
public String getPageWebPath() {
return pageWebPath;
}
public String getPageParameter() {
return pageParameter;
}
public String getPagePhysicalPath() {
return pagePhysicalPath;
}
public String getPageType() {
return pageType;
}
public String getPageTemplate() {
return pageTemplate;
}
public String getPageHtml() {
return pageHtml;
}
public String getPageStatus() {
return pageStatus;
}
public Date getPageCreateTime() {
return pageCreateTime;
}
public String getTemplateId() {
return templateId;
}
public List<CmsPageParam> getPageParams() {
return pageParams;
}
public String getHtmlFileId() {
return htmlFileId;
}
public String getDataUrl() {
return dataUrl;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
public void setPageId(String pageId) {
this.pageId = pageId;
}
public void setPageName(String pageName) {
this.pageName = pageName;
}
public void setPageAliase(String pageAliase) {
this.pageAliase = pageAliase;
}
public void setPageWebPath(String pageWebPath) {
this.pageWebPath = pageWebPath;
}
public void setPageParameter(String pageParameter) {
this.pageParameter = pageParameter;
}
public void setPagePhysicalPath(String pagePhysicalPath) {
this.pagePhysicalPath = pagePhysicalPath;
}
public void setPageType(String pageType) {
this.pageType = pageType;
}
public void setPageTemplate(String pageTemplate) {
this.pageTemplate = pageTemplate;
}
public void setPageHtml(String pageHtml) {
this.pageHtml = pageHtml;
}
public void setPageStatus(String pageStatus) {
this.pageStatus = pageStatus;
}
public void setPageCreateTime(Date pageCreateTime) {
this.pageCreateTime = pageCreateTime;
}
public void setTemplateId(String templateId) {
this.templateId = templateId;
}
public void setPageParams(List<CmsPageParam> pageParams) {
this.pageParams = pageParams;
}
public void setHtmlFileId(String htmlFileId) {
this.htmlFileId = htmlFileId;
}
public void setDataUrl(String dataUrl) {
this.dataUrl = dataUrl;
}
@Override
public String toString() {
return "CmsPage{" +
"siteId='" + siteId + '\'' +
", pageId='" + pageId + '\'' +
", pageName='" + pageName + '\'' +
", pageAliase='" + pageAliase + '\'' +
", pageWebPath='" + pageWebPath + '\'' +
", pageParameter='" + pageParameter + '\'' +
", pagePhysicalPath='" + pagePhysicalPath + '\'' +
", pageType='" + pageType + '\'' +
", pageTemplate='" + pageTemplate + '\'' +
", pageHtml='" + pageHtml + '\'' +
", pageStatus='" + pageStatus + '\'' +
", pageCreateTime=" + pageCreateTime +
", templateId='" + templateId + '\'' +
", pageParams=" + pageParams +
", htmlFileId='" + htmlFileId + '\'' +
", dataUrl='" + dataUrl + '\'' +
'}';
}
}
package com.itcast.model;
/**
* 说明:
*
* @author LanPengBiao
* @version 1.0
* @Date: Created in 2021-10-21 11:19
*/
public class CmsPageParam {
//参数名称
private String pageParamName;
//参数值
private String pageParamValue;
public String getPageParamName() {
return pageParamName;
}
public String getPageParamValue() {
return pageParamValue;
}
public void setPageParamName(String pageParamName) {
this.pageParamName = pageParamName;
}
public void setPageParamValue(String pageParamValue) {
this.pageParamValue = pageParamValue;
}
@Override
public String toString() {
return "CmsPageParam{" +
"pageParamName='" + pageParamName + '\'' +
", pageParamValue='" + pageParamValue + '\'' +
'}';
}
}
创建接口:
接口继承
MongoRepository<CmsPage,String>类,可以使用内置方法和自定义方法,方法名称符合命名规范可以直接执行
package com.itcast.dao;
import com.itcast.model.CmsPage;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface CmsPageRepository extends MongoRepository<CmsPage,String> {
}
三、测试
导入测试依赖
<!--test测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
测试类
package com.itcast.dao;
import com.itcast.model.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;
import java.util.Map;
@SpringBootTest
@RunWith(SpringRunner.class)
public class CmsPageRepositoryTest {
@Autowired
CmsPageRepository cmsPageRepository;
@Test
public void testFindAll(){
List<CmsPage> all = cmsPageRepository.findAll();
System.out.println(all);
System.out.println("======================================================================================");
}
}
测试效果
四、常用方法CURD
查询
//分页查询
@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);
}
增加
删除
修改
先查询出结果,然后再修改,再保存。
//修改
@Test
public void testUpdate() {
//查询对象
Optional<CmsPage> optional = cmsPageRepository.findById("5b4b1d8bf73c6623b03f8cec");
if(optional.isPresent()){
CmsPage cmsPage = optional.get();
//设置要修改值
cmsPage.setPageAliase("test01");
//...
//修改
CmsPage save = cmsPageRepository.save(cmsPage);
System.out.println(save);
}
}
五、自定义方法
自定义方法需要符合一定规范
定义方法
package com.itcast.dao;
import com.itcast.model.CmsPage;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface CmsPageRepository extends MongoRepository<CmsPage,String> {
//根据页面名称查询
CmsPage findByPageName(String pageName);
}
测试
//根据页面名称查询
@Test
public void testfindByPageName(){
CmsPage cmsPage = cmsPageRepository.findByPageName("index.html");
System.out.println(cmsPage);
}
效果:
来源:https://www.cnblogs.com/hehehenhen/p/15432609.html |