200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > SSM开发书评网25:写短评;

SSM开发书评网25:写短评;

时间:2022-09-22 15:10:22

相关推荐

SSM开发书评网25:写短评;

说明:

(1)本篇博客开发内容:前面我们实现了会员注册和登录功能;那么会员登录后,就开始介绍与会员交互有关的功能;本篇博客介绍第二个功能【为图书写短评】;

(2)本篇博客的一个需要强调的【开发技巧】:比如我们Service层的一个方法,这个方法是向数据表插入数据的方法;虽然这个方法不是查询方法,但是这个方法最好还是返回我们插入的实体对象;万一有的地方,调用这个插入方法时,想得到插入的对象呐,是吧。。。。。这样做,让程序的更给力,更全面;

目录

一:需求分析;

二:正式开发;

1.在detail.ftl前端编写:点击【写短评】按钮后,在页面上弹出一个写短评的对话框;

2.在MemberService接口中,定义发布新短评的方法:evaluate()方法;

3.在MemberServiceImpl实现类中,实现发布新短评的方法:evaluate()方法;

4.在MemberController类中,增加前后端交互的方法:evaluate()方法;(Controller中的方法可以随便起,但为了见名知意,也起做evaluate了)

5.在detail.ftl前端编写:点击【写短评】按钮后,向后端发起ajax请求;

一:需求分析;

二:正式开发;

1.在detail.ftl前端编写:点击【写短评】按钮后,在页面上弹出一个写短评的对话框;

启动Tomcat,观察效果:没问题;

接下来就是,写完了短评,点击【提交】,会向后台发起ajax请求;但是,我们后端目前还没有处理写短评的逻辑;所以,接下来我们就去后端编写对应的逻辑;

2.在MemberService接口中,定义发布新短评的方法:evaluate()方法;

/*** 发布新的短评* @param memberId 用户id* @param bookId 图书id* @param score 评分* @param content 短评内容* @return 短评对象*/public Evaluation evaluate(Long memberId, Long bookId, Integer score, String content);

说明:

(1)这儿有遇到了上篇博客提到的所谓的【灵活性】;

3.在MemberServiceImpl实现类中,实现发布新短评的方法:evaluate()方法;

/*** 发布新的短评** @param memberId 用户id* @param bookId 图书id* @param score 评分* @param content 短评内容* @return 短评对象*/public Evaluation evaluate(Long memberId, Long bookId, Integer score, String content) {Evaluation evaluation = new Evaluation();evaluation.setBookId(bookId);evaluation.setMemberId(memberId);evaluation.setScore(score);evaluation.setContent(content);evaluation.setCreateTime(new Date());evaluation.setState("enable");//设置审核状态,默认为enableevaluation.setEnjoy(0);//设置初始点赞数量evaluationMapper.insert(evaluation);return evaluation;}

说明:

(1)这个方法很简单,就是根据传过来的参数,和数据表的要求,实例化Evaluation对象,然后调用Dao层方法,去插数据就行了;

(2)自然要注入EvaluationMapper对象;同时,因为MemberServiceImpl类默认设置全部方法开启事务,所以我们不用再在evaluate()方法上设置事务了;

4.在MemberController类中,增加前后端交互的方法:evaluate()方法;(Controller中的方法可以随便起,但为了见名知意,也起做evaluate了)

/*** 发布新的短评* @param memberId 用户id* @param bookId 图书id* @param score 评分* @param content 短评内容* @return*/@PostMapping("/evaluate")@ResponseBodypublic Map evaluate(Long memberId, Long bookId, Integer score, String content) {Map result = new HashMap();try {memberService.evaluate(memberId, bookId, score, content);result.put("code", "0");result.put("msg", "success");} catch (BussinessException ex) {ex.printStackTrace();result.put("code", ex.getCode());result.put("msg", ex.getMsg());}return result;}

说明:

(1)这个方法很简单,没什么好说的;

(2)Service层返回值的一点说明:插入更新类的方法,最好也要返回【插入、更新】的数据;

5.在detail.ftl前端编写:点击【写短评】按钮后,向后端发起ajax请求;

启动Tomcat,观察效果:没问题;

在数据库中,也有对应的数据;

至此,写短评的功能就完成了;下篇博客将介绍会员给短评点赞的功能;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。