Springboot编写CRUD时访问对应数据函数返回null的问题及解决方法

 更新时间:2024年02月06日 10:38:04   作者:Fúsi  
我在学习springboot,其中在编写CRUD时发现访问数据的函数执行下去返回值是null但是其它部分正常,这篇文章主要介绍了Springboot在编写CRUD时,访问对应数据函数返回null,需要的朋友可以参考下

1. 我遇到了什么问题

我在学习springboot,其中在编写CRUD时发现访问数据的函数执行下去返回值是null但是其它部分正常。
下面是我的错误代码

pojo

public class Bot {
    @TableId(type = IdType.AUTO )
    private Integer id ;
    private  Integer user_id ;
    private String name ;
    private String description ;
    private String content ;
    private Integer rating ;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date create_time ;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modify_time ;
}

数据库列名

其中注意我是在面临访问user_id这个类时出现了返回null。当时目的是为了pojo和数据库对应。

Service

@Service
public class RemoveServiceImpl implements RemoveService {
    @Autowired
    BotMapper botMapper ;
    @Override
    public Map<String, String> remove(Map<String, String> data) {
        UsernamePasswordAuthenticationToken authenticationToken =
                (UsernamePasswordAuthenticationToken) SecurityContextHolder.getContext().getAuthentication() ;
        UserDetailsImpl loginUser = (UserDetailsImpl) authenticationToken.getPrincipal() ;
        User user = loginUser.getUser() ;
        Map<String,String> map = new HashMap<>();
        int bot_id = Integer.parseInt(data.get("bot_id")) ;
        Bot bot = botMapper.selectById(bot_id) ;
        if(bot == null) {
            map.put("error_message", "Bot不存在") ;
            return map ;
        }
        System.out.println("new BOT_ID" + bot.getId());
        System.out.println(bot.getName());
        System.out.println(bot.getUser_id());
        System.out.println(user.getId());
        if(!bot.getUser_id().equals(user.getId())) {
            map.put("error_message", "你没有权限") ;
            return map ;
        }
        botMapper.deleteById(bot_id) ;
        map.put("error_message", "success") ;
        return map ;
    }
}

其中各类访问数据库的函数都是idea自动填充的
问题就是当我程序进行到这个页面时,bot.getUser_id()返回值是null其它值都是正确的

2. 我是怎么做得

后面发现pojo层的命名和数据库之间要使用驼峰命名法进行对应,关于驼峰命名法希望大家自己去查一查,因为我也不熟。但是对于数据库中的user_id列命名需要把_变为大写。
将pojo层变为

public class Bot {
    @TableId(type = IdType.AUTO )
    private Integer id ;
    private Integer userId ;
    private String name ;
    private String description ;
    private String content ;
    private Integer rating ;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date create_time ;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modify_time ;
}

同时把service中的

bot.getUser_id()

改为

bot.getUserId()

问题就解决了

到此这篇关于Springboot在编写CRUD时,访问对应数据函数返回null的文章就介绍到这了,更多相关Springboot编写CRUD返回null内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中的SPI机制案例分享

    Java中的SPI机制案例分享

    这篇文章主要介绍了Java中的SPI机制案例分享,文章基于Java的相关资料展开SPI的详细介绍,SPI的全称是Service Provider Interface,服务提供者接口,下文更多相关内容介绍需要的小伙伴可以参考一下
    2022-04-04
  • Springboot集成JAXB返回xml格式

    Springboot集成JAXB返回xml格式

    这篇文章主要为大家详细介绍了Springboot如何集成JAXB返回xml格式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-12-12
  • SpringBoot整合Shiro框架,实现用户权限管理

    SpringBoot整合Shiro框架,实现用户权限管理

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。作为一款安全框架Shiro的设计相当巧妙。Shiro的应用不依赖任何容器,它不仅可以在JavaEE下使用,还可以应用在JavaSE环境中。
    2021-06-06
  • 关于mybatis遇到Integer类型的参数时动态sql需要注意条件

    关于mybatis遇到Integer类型的参数时动态sql需要注意条件

    这篇文章主要介绍了关于mybatis遇到Integer类型的参数时动态sql需要注意条件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • IntelliJ IDEA 使用经验总结(推荐)

    IntelliJ IDEA 使用经验总结(推荐)

    这篇文章主要介绍了IntelliJ IDEA 使用经验总结,非常不错,具有参考价值,需要的朋友可以参考下
    2018-02-02
  • Mybatis结果集自动映射的实例代码

    Mybatis结果集自动映射的实例代码

    在使用Mybatis时,有的时候我们可以不用定义resultMap,而是直接在<select>语句上指定resultType。这个时候其实就用到了Mybatis的结果集自动映射,下面通过本文给大家分享Mybatis结果集自动映射的实例代码,一起看看吧
    2017-02-02
  • Java异步处理机制实例详解

    Java异步处理机制实例详解

    本文涉及Java编程中异步处理机制的简单介绍和一个相关实例,相信通过这篇文章,大家能对异步处理有更多的了解。
    2017-09-09
  • SpringBoot排除不需要的自动配置类DataSourceAutoConfiguration问题

    SpringBoot排除不需要的自动配置类DataSourceAutoConfiguration问题

    这篇文章主要介绍了SpringBoot排除不需要的自动配置类DataSourceAutoConfiguration问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • MyBatis输入映射和输出映射的实现示例

    MyBatis输入映射和输出映射的实现示例

    本文详细介绍了MyBatis框架中resultMap的使用,包括其在Java对象与数据库表列映射中的作用,以及如何配置resultMap处理不同情况,具有一定的参考价值,感兴趣的可以了解一下
    2026-04-04
  • SpringBoot项目使用aop案例详解

    SpringBoot项目使用aop案例详解

    这篇文章主要介绍了SpringBoot项目使用aop的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04

最新评论