MyBatis中Association联合select使用
Association联合select使用容易出差问题地方
?
mapper配置:
?
?
?
?
?
这种配置导致问题:
Menu.module的属性很多都是为null,除了id不为空。
?
经过调试发现问题出在:
?
去掉resultMap,修改为:
?
?
结果Menu.module的属性可以正确被mybaties设置进去,都有值了。
?
?
?
?
Association联合select使用值得注意的细节地方:
这是我使用mybatis的Association联合select使用存着问题的地方,
?
?
?
??? mybatis会根据类似resultSet.getInt("module_id")的值,压入到select 为queryModule 的SQL输入参数里面。
?
? 我以前一直纠结于#{id}是指Menu.id还是module的主键或外键id属性。
?
?? 而select 为queryModule的SQL输入参数可以随便给名称,只要是输入参数与压入进去的值类型相同就行了,可以写成:
??
select * from sys_module where id =#{jjjasdasdid}?
不管输入参数名称是什么,mybatis最终会执行:
?效果为:select * from sys_module where id =resultSet.getInt("module_id");
?
?
?