Mybatis是个渣渣:
mybatis出现了数据库中字段名含有"_“的字段,不能将结果注入POJO的情况。导致,能返回结果,但是部分字段为null,也就是字段名中含有”_"的字段,返回结果都为null。
https://blog.csdn.net/m0_37961948/article/details/85344944
通用mapper:
属性名与数据库字段映射规则
1.默认映射规则
属性中大写字母对应数据库中的"_小写字母"
如:sotreDateTime 对应 store_date_time
2.手动设置映射规则:@Column
@Column(name = "store_datetime")
private LocalDateTime storeDateTime;
但是结合上面那个异常情况,也就是说:框架生成的默认方法是可以访问到数据库中带"_“的字段的,但是自己写的SQL语句方法无法访问到数据库中带”_"的字段。
MyBatis纯注解配置:SpringBoot
https://www.cnblogs.com/linjiqin/p/9686981.html
一定要把MyBatis的注解和JPA的注解区分开,MyBatis中其实没有作用于POJO的注解,作用在POJO的注解是JPA中的。
SpringBoot中提供了MyBatis的启动器,可以实现纯注解配置,主配置文件都不需要了。但需要在application.yml中设置启动器的一些配置。
现在只要设置两点了:1.MyBatis要识别的POJO目录;2.MyBatis要识别的Mapper目录。前者在application.yml中设置,后者在Application.java中设置包扫描@MapperScan。