脚本宝典收集整理的这篇文章主要介绍了SpringBoot学习项目-博客系统-part4,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
//对加了@Controller注解的方法进行拦截处理 AOP的实现
@ControllerAdvice
public class AllExceptionHandler {
//进行异常处理,处理Exception.class的异常
@ExceptionHandler(Exception.class)
@ResponseBody //返回json数据
public Result doException(Exception ex){
ex.PRintStackTrace();
return Result.fail(-999,"系统异常");
}
}
@PostMapping("hot")
public Result hotArticle(){
int limIT = 5;
return articleService.hotArticle(limit);
}
// 最热文章
Result hotArticle(int limit);
@override
public Result hotArticle(int limit) {
LambdaQueryWrapPEr<Article> wrapper = new LambdaQueryWrapper<>();
//select id,title From article order by view_counts desc limit 5
wrapper.orderByDesc(Article::getViewCounts);
wrapper.select(Article::getId,Article::getTitle);
wrapper.last("limit "+limit);
List<Article> articles = articleMapper.selectList(wrapper);
return Result.success(copyList(articles,false,false));
}
/**
* 首页 最新文章
* @return
*/
@PostMapping("new")
public Result newArticles(){
int limit = 5;
return articleService.newArticles(limit);
}
// 最新文章
Result newArticles(int limit);
@Override
public Result newArticles(int limit) {
LambdaQueryWrapper<Article> wrapper = new LambdaQueryWrapper<>();
wrapper.orderByDesc(Article::getCreateDate);
wrapper.select(Article::getId,Article::getTitle);
wrapper.last("limit "+limit);
//select id, title from ms_article order by create_date limit 5
List<Article> articles = articleMapper.selectList(wrapper);
return Result.success(copyList(articles,false,false));
}
@PostMapping("listArchives")
public Result listArchives(){
return articleService.listArchives();
}
@Data
public class Archives {
private Integer year;
private Integer month;
private Integer count;
}
@Override
public Result listArchives() {
List<Archives> archivesList = articleMapper.listArchives();
return Result.success(archivesList);
}
因为表中的时间格林时间,mp无法完成转换,所以要自己写SQL语句
public interface ArticleMapper extends BaSEMapper<Article> {
List<Archives> listArchives();
}
<select id="listArchives" resultType="com.mszlu.blog.dao.DOS.Archives">
select year(create_date) as year,month(create_date) as month,count(*) as count from ms_article group by year,month
</select>
以上是脚本宝典为你收集整理的SpringBoot学习项目-博客系统-part4全部内容,希望文章能够帮你解决SpringBoot学习项目-博客系统-part4所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。