数据库自己设计,然后照着网上搭建springboot整合mybatis,个人觉得很完美,分层和网上一模一样的,运行也没有报错,但是返回是null!一直摸不到头脑!
经过重重发现,原来mybatis默认配置是数据库字段名要和java实体类的一模一样(有下划线就要有下划线),我自己一开始实体类使用了驼峰命名规则,导致数据库字段名与实体类的字段映射不到,导致实体类没有数据,一直为空!
解决:配置mybatis驼峰命名规则自动转换
说一说我是这么发现是数据库与实体类映射不到位!
我一开始mapper层的类查询所有数据返回类型是实体类
List<User> getAll();
我于是考虑是否数据传送不到位,我就改变返回类型改为万能的Map<String,Object>
List<Map<String,Object>> getAll();
那么改变的返回类型,其他业务层、控制层、服务层也要改
特别是mybatis的持久层数据库mapper.xml的返回类型要改为map
一运行,数据成功输出了!没错我百分百肯定了是数据库与实体类映射问题出错了
这个问题对于小白的我,折磨了一天,头发块没有了,我弄其他项目没有下划线的就可以正常输出数据,我觉得我自己设计的数据库,不能改数据库一定要找出问题,解决的个bug!哪知道这个bug就一个配置就可以解决了
新手真的很难,学了这个,用那个就忘记这个!!!大家奥力给,gogogo