1、添加依赖
复制代码
org.springframework.boot spring-boot-starter-data-mongodb2.1.6.RELEASE
完整pom.xm文件
4.0.0 org.springframework.boot spring-boot-starter-parent2.1.7.RELEASE com.vue demo0.0.1-SNAPSHOT demo Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-webmysql mysql-connector-javaruntime com.alibaba fastjson1.2.49 com.alibaba druid1.0.26 org.projectlombok lombok1.16.20 com.baomidou mybatis-plus-boot-starter2.2.0 io.springfox springfox-swagger22.8.0 io.springfox springfox-swagger-ui2.8.0 org.springframework.boot spring-boot-starter-data-mongodb2.1.6.RELEASE org.springframework.boot spring-boot-starter-testtest org.junit.vintage junit-vintage-engineorg.springframework.boot spring-boot-maven-plugin
2、applicaiton.yml
server:
port: 8081
mybatis-plus:
typeAliasesPackage: com.vue.demo.entity
mapperLocations: classpath:mapper
@Service
public class UserArticleServiceImpl implements UserArticleService {
@Autowired
private MongoTemplate mongoTemplate;
@Override
public UserArticle getArticleByTitle(String title) {
Query query = new Query();
query.addCriteria(Criteria.where("articleTitle").is(title));
UserArticle article = mongoTemplate.findOne(query, UserArticle.class);
return article;
}
@Override
public UserArticle insertArticle(UserArticle userArticle) {
List userArticleList = mongoTemplate.findAll(UserArticle.class);
if (userArticleList.isEmpty()) {
userArticle.setId(1);
} else {
userArticle.setId(userArticleList.size() + 1);
}
UserArticle article = mongoTemplate.save(userArticle);
return article;
}
@Override
public List getAllArticles() {
List userArticles = mongoTemplate.findAll(UserArticle.class);
return userArticles;
}
@Override
public DeleteResult delByName(String name) {
Query query = new Query();
query.addCriteria(Criteria.where("articleTitle").is(name));
DeleteResult result =mongoTemplate.remove(query,UserArticle.class);
return result;
}
@Override
public UpdateResult updateReadNumByTitle(String title) {
Query query = new Query();
query.addCriteria(Criteria.where("articleTitle").is(title));
UserArticle article = mongoTemplate.findOne(query, UserArticle.class);
Integer readNum = article.getReadNum() == null? 1: article.getReadNum()+1;
article.setReadNum(readNum);
Update update = new Update();
update.set("readNum",article.getReadNum());
UpdateResult result = mongoTemplate.updateFirst(query,update,UserArticle.class);
return result;
}
@Override
public UpdateResult addUserComment(String title, String comment) {
JSonObject jsonObject = new JSonObject();
Query query = new Query();
query.addCriteria(Criteria.where("articleTitle").is(title));
UserArticle article = mongoTemplate.findOne(query, UserArticle.class);
if(article.getComment() == null){
jsonObject.put(title,comment);
}else {
jsonObject = (JSONObject) JSONObject.parse(article.getComment());
jsonObject.put(title,comment);
}
Integer commentNum = article.getCommentNum() == null ? 1:article.getCommentNum()+1;
Update update = new Update();
update.set("comment",jsonObject.toJSonString());
update.set("commentNum",commentNum);
UpdateResult result = mongoTemplate.updateFirst(query,update,UserArticle.class);
return result;
}
}
github地址:https://github.com/812406210/vue-demo.git
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



