图书详情类创建完后HTTP Status 404 – 未找到
# 具体遇到的问题
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
实体类:
@TableName("evaluation")
public class Evaluation {
@TableId(type = IdType.AUTO)
private Long evaluationId;
private Long bookId;
private String content;
private Integer score;
private Long memberId;
private Date createTime;
private Integer enjoy;
private String state;
private String disableReason;
private Date disableTime;
public Long getEvaluationId() {
return evaluationId;
}
public void setEvaluationId(Long evaluationId) {
this.evaluationId = evaluationId;
}
public Long getBookId() {
return bookId;
}
public void setBookId(Long bookId) {
this.bookId = bookId;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Integer getScore() {
return score;
}
public void setScore(Integer score) {
this.score = score;
}
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Integer getEnjoy() {
return enjoy;
}
public void setEnjoy(Integer enjoy) {
this.enjoy = enjoy;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getDisableReason() {
return disableReason;
}
public void setDisableReason(String disableReason) {
this.disableReason = disableReason;
}
public Date getDisableTime() {
return disableTime;
}
public void setDisableTime(Date disableTime) {
this.disableTime = disableTime;
}
}
mapper:
package com.imooc.reader.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.imooc.reader.entity.Evaluation;
public interface EvaluationMapper extends BaseMapper<Evaluation> {
}
mapper.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.imooc.reader.mapper.EvaluationMapper">
</mapper>
service:
package com.imooc.reader.service;
import com.imooc.reader.entity.Evaluation;
import java.util.List;
public interface EvaluationService {
/**
* 按照图书ID查看短评
*/
public List<Evaluation> selectByBookId(Long bookId);
}
impl:
package com.imooc.reader.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.imooc.reader.entity.Evaluation;
import com.imooc.reader.mapper.EvaluationMapper;
import com.imooc.reader.service.EvaluationService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@Service("evaluationService")
@Transactional(propagation = Propagation.NOT_SUPPORTED,readOnly = true)
public class EvaluationServiceImpl implements EvaluationService {
@Resource
private EvaluationMapper evaluationMapper;
/**
* 按照图书ID查看短评
*/
public List<Evaluation> selectByBookId(Long bookId) {
QueryWrapper<Evaluation> queryWrapper =new QueryWrapper<Evaluation>();
queryWrapper.eq("book_id",bookId);
queryWrapper.eq("state","enable");
queryWrapper.orderByDesc("create_time");
List<Evaluation> evaluationList = evaluationMapper.selectList(queryWrapper);
return evaluationList;
}
}
controller:
package com.imooc.reader.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.imooc.reader.entity.Book;
import com.imooc.reader.entity.Category;
import com.imooc.reader.entity.Evaluation;
import com.imooc.reader.service.BookService;
import com.imooc.reader.service.CategoryService;
import com.imooc.reader.service.EvaluationService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.util.List;
@Controller
public class BookController {
@Resource
private CategoryService categoryService;
@Resource
private BookService bookService;
@Resource
private EvaluationService evaluationService;
/**
* 显示首页
* @return
*/
@GetMapping("/")
public ModelAndView showIndex() {
ModelAndView mav = new ModelAndView("/index");
List<Category> categorylist = categoryService.selectAll();
mav.addObject("categoryList",categorylist);
return mav;
}
/**
* 加载书籍
*/
@GetMapping("/books")
@ResponseBody
public IPage<Book> selectBook(Long categoryId,String order,Integer p){
if(p==null){
p=1;
}
IPage<Book> pageObject = bookService.paging(categoryId,order,p,10);
return pageObject;
}
/**
* 根据图书编号查书的对象
*/
@GetMapping("/book/{id}")
public ModelAndView showDetail(@PathVariable("id") Long id){
Book book =bookService.selectById(id);
List<Evaluation> evaluationList = evaluationService.selectByBookId(id);
ModelAndView mav = new ModelAndView("/detail");
mav.addObject("book",book);
mav.addObject("evaluationList",evaluationList);
return mav;
}
}
25
收起
正在回答 回答被采纳积分+1
1回答
java工程师2020版
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星