一对多查询,resultMap子表数据装载,包含驼峰的字段未有相应数据

Blade 未结 1 1333
杜波
杜波 剑圣 2020-01-14 17:18

一、该问题的重现步骤是什么?

一对多的sql查询,返回的主表数据是相同的,返回的子表数据则不同,存储对应返回数据是resultMap,

其中主表对应的vo对象只要数据库有对应值,则vo对象则包含该数据。子表数据库对应有数据,且vo字段是包含下划线,及包含驼峰字段,则未包含该数据


二、你期待的结果是什么?实际看到的又是什么?

子表驼峰字段应该包含对应数据,实际上驼峰字段未包含数据库已经存在数据


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

blade-biz2.2.2,bladex2.2.2,在windows系统上


四、请提供详细的错误堆栈信息,这很重要。

1、sql语句

image.png

2、对应返回resultMap

image.png

其中的子表返回字段

image.png

3、对应数据库包含对应值

image.png

加不加别名效果都一样

4、实际结果

image.png




1条回答
  • 2020-01-16 22:55

     1.就拿你截图中的来说明一下

     2. resultMap你是这么配置的,意思是把sql查询返回的vehicle_ownership_company字段转换成vehicleOwnershipCompany并返回到CarPlanVO的vehicleOwnershipCompany属性里

     3.但我看到你写的sql语句,返回的是 "cp_vehicleOwnershiipCompany" ,完全没有对应上,所以都是空的。

     4.如果你写了resultMap,那么sql语句就不用写as了,mybatis底层会自动帮你转换

    一定要注意,sql返回的字段要和result的column一一对应,而property又要和VO类的字段意义对应

    image.png

    0 讨论(0)
提交回复