向数据库添加数据出现java.lang.NullPointerException

发布时间:2024年01月10日

问题描述

向数据库中新增一条数据,出现

?controller:

 @Autowired
    private ArticleService articleService;

    @PostMapping
    public Result add(@RequestBody Article article){
        articleService.add(article);
        return Result.success();
    }

Service:

@Service
public class ArticleServiceImpl implements ArticleService {

    private ArticleMapper articleMapper;

    @Override
    public void add(Article article) {
        //补充属性值
        article.setCreateTime(LocalDateTime.now());
        article.setUpdateTime(LocalDateTime.now());

        Map<String,Object> map = ThreadLocalUtil.get();
        Integer userId = (Integer) map.get("id");
        article.setCreateUser(userId);

//        System.out.println(article);
        articleMapper.add(article);
    }
}

mapper:

@Mapper
public interface ArticleMapper {
    //新增
    @Insert("insert into article(title,content,cover_img,state,category_id,create_user,create_time,update_time)" +
            "values(#{title},#{content},#{coverImg},#{state},#{categoryId},#{createUser},#{createTime},#{updateTime})")
    void add(Article article);
}

问题分析:

空指针异常,一般是对象没有实现。

看了半天,没看出来哪错了。

无意间,看见在Service层的使用Mapper没进行自动注入,原因就在这

问题解决:

在Service层的上面加上@Autowired

@Autowired
    private ArticleMapper articleMapper;

问题解决。

文章来源:https://blog.csdn.net/m0_52228992/article/details/135509469
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。