springboot学习笔记一: service层获取调用dao层查询接口,获取到的bean为空,但是用sql语句去查数据库却有数据

问题描述:使用springboot 写好了model层 dao层,当在service层调用dao层的select方法获取的bean为空,而此时单独去数据库里执行对应的sql语句明明是有数据的

解决方案:

  • springboot中遇到bean为空的问题,想必我们的第一反应都是bean注入的问题,因此都会去代码里扒出各层“涉事”代码,逐一检查是否有注解漏写或误写的情况。关于注解的用法,各种教程一大堆,此处就不作说明了....
  • 仔细核对一下dao层的select_fields中的字段跟数据库设计的字段拼写是否一致,一定要保证完全一样。分享一个小技巧,多字段太多时,为保证不出错  可以直接把select_fields复制到数据库中 嵌在sql语句中,此时写错的字段就会被红线线标识,无处遁形了。
  • 如果上述两个方案你都试过了依然没有解决bean 为null 的问题,那么你首先应该庆祝一下,因为这证明你是一个写代码相当认真严谨的程序员哈哈哈。然后,再来看看第三个可能的原因:检查项目中的mybatis-config文件,其中有个配置:mapUnderscoreToCamelCase  ,意思是自动帮你把字段的名字转换成  驼峰命名的方式 ----这可能会让本来跟数据库中一模一样的字段名变的不再匹配。将这项配置至为false就ok了!

你可能感兴趣的:(springboot学习笔记一: service层获取调用dao层查询接口,获取到的bean为空,但是用sql语句去查数据库却有数据)