MyBatis之五_开发中的问题

探讨了MyBatis框架中数据库字段与POJO属性名映射规则的问题,特别是当数据库字段名包含下划线时的处理方式。文章介绍了如何通过注解手动设置映射规则,并说明了SpringBoot环境下纯注解配置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值