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

文章讲述了在SpringBoot应用中,尝试向数据库添加新数据时遇到空指针异常的问题,原因是Service层的ArticleMapper未进行自动注入。通过添加@Autowired注解解决此问题,强调了依赖注入在避免此类错误中的关键作用。
摘要由CSDN通过智能技术生成

问题描述

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

 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;

问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

篆愁君的烦恼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值