用mybatisPlus时,出现了

java.lang.NullPointerException: null最后没想到时没有装配Mapper

因为基本都是用他封装好的语句,自己写一个就错了,还是要收悉一下流程hh

Mapper

@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

@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;
    }
}

复习一下

首先自己写一个语句现在mappersql语句,之后再业务层service编写接口,再实现先接口impl。切记,再实现接口调用mapper中的sql方法时要先装配一下。

这样dao层和service层就已经配置好了,现在只需要编写controller层即可。

我这里写的

    //一定要装配切记
    @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 日
如果觉得我的文章对你有用,请随意赞赏