目录
一、mybatis中的懒加载
一对多查询
mybatis中要不加fetchType默认lazy,即懒加载;
问题:我要查询人员记录列表时,用queryRecordByParam时效率慢,单独查一条queryRecordById时效率还可以,找原因发现是懒加载导致的;解决办法是添加配置fetchType='eager';
若懒加载:执行 queryRecordByParam 后 RecordMap 里id,code,name,address,type都会有值,而 recordList 是空的,当你调用 getRecordList() 方法时,才会执行“select * from t_record where info_id=#{id}” 查询出结果并赋值;
而我若有1000个人,代码里 getRecordList() 在循环体里使用,也就是说我执行了很多次“select * from t_record where info_id=#{id}”,具体的在调用的get方法很不好说,故而相率慢;
去掉懒加载:“select * from t_record where info_id=#{id}”执行的频率就小很多;