Loading... 用mybatisPlus时,出现了 `java.lang.NullPointerException: null`最后没想到时没有装配`Mapper`。 因为基本都是用他封装好的语句,自己写一个就错了,还是要收悉一下流程hh #### Mapper ```java @Mapper public interface ArticleMapper extends BaseMapper<Article> { @Update("update scenic_spot set title = #{article.title}, place = #{article.place}, article = #{article.article}, article_class = #{article.articleClass}, username = #{article.username} where number = #{article.number}") int scenicSpotUpdate(@Param("article") Article article); } ``` #### ServiceImpl ```java @Service public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements ArticleService { // 就是这里忘记了 @Autowired private ArticleMapper articleMapper; public int scenicSpotUpdateService(Article article) { int line = articleMapper.scenicSpotUpdate(article); return line; } } ``` ### 复习一下 首先自己写一个语句现在`mapper`写`sql`语句,之后再业务层`service`编写接口,再实现先接口`impl`。切记,再实现接口调用mapper中的sql方法时要先装配一下。 ![](https://blog.fivk.cn/usr/uploads/2022/06/3100351014.png) 这样`dao`层和`service`层就已经配置好了,现在只需要编写`controller`层即可。 我这里写的 ```java //一定要装配切记 @Autowired private ArticleService articleService; @PutMapping("/{number}") public R<String> edit(@PathVariable Long number, @RequestBody Article article) { if (article.getArticleClass().equals("1")) { article.setArticleClass("分享汇"); }else if (article.getArticleClass().equals("2")) { article.setArticleClass("景Show"); } else if (article.getArticleClass().equals("3")) { article.setArticleClass("求助解答"); } article.setNumber(number); int line = articleService.scenicSpotUpdateService(article); if (line < 1) { return R.error("error"); } return R.success("编辑成功"); } ``` 应为之前`service`中已经配置好了数据库执行方法,我们直接调用就行。 最后修改:2022 年 06 月 15 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏