自学Java第118天遇到了一个bug,耗费了自己一些时间稍微拖了下自己的学习进度-本来呢是打算学完三种多表关联查询的结果学到一对多查询的时候遇到了一个bug-老实说,我遇到bug时还是不太反感的因为我本身也在做一个bug系列将自己遇到过的bug及解决方法记录下来就是很多时候发现自己犯的尽是些低级错误-今天遇到的问题我大致说明下:Java中实体类和数据表是相对应的而多表查询结果涉及到多张表的结果-那如何用一个实体类接收返回值呢?如果是一对一,比如order和user那么就可以封装user到Order实体类中-如果是一对多,比如order和orderdetail那么封装orderdetail集合到Order实体类中-在映射文件中resultMap标签可以处理返回值当然id要和对应的sql语句标签对应-如果是一对一,使用子标签association说明:property:user,即Order类中的user属性javaType:User,即user和User实体类对应也就是将Order类中的user属性和User类映射起来了-如果是一对多,使用子标签collection说明:这猜都能猜的出来,加上idea开发工具也有提示并且collection本身也就是集合的意思-当时我就想,这还不简单,依样画葫芦好了将Order类中的orderdetail集合对应的属性和Orderdetail实体类映射起来不就好了?-结果控制台报错说参数类型异常后来我看了教程才知道我属性设置错了正确的写法是:javaType:List,说明集合类型为ListofType:Orderdetail,指定集合对应泛型-ofType这个属性是我万万没有想到的因为collection本身就是集合的意思我以为它能自动识别所以在javaType中直接指定了泛型-看来自己还是将很多事情想得太简单了就好比有个故事说的有人学完汉字一、二、三便觉得所有的数字都会写了,简直天真