1.问题
先来描述一下问题
我有一个商品表 里面嵌套
1.1如下是我的数据库
一个商品对应两个口味对应三个商品轮播图+两个商品描述图
那可不是1*2*2*3 = 12 就是分页里面的pageSize 为12 时才能显示完这个商品的完整数据
这是我的sql语句
resultMap映射
2.正确做法
当然上面的不适合多表嵌套是错误示范
2.1 使用子查询
在collection中加入 column(主查询里面的属性,会传入到子属性中使用)select 把查询结果映射到这个集合中
collection中的属性也可以不用写,你的子查询中查了什么 他就会映射什么
2.2编写子查询sql语句
这个productId就是column 传来的id 是父表的属性
2.3修改原来sql语句
不再连表查询 只查父表的属性 子表的属性会经过那些查询映射上去
传统上来讲 dao层数据库是要写的 ,但这个是内部操作可写可不写
3.分页查询参数
pagesize为0 仍然可以查到信息
原来是pagesize为0 默认不使用分页查询 就是查所有
但是如果使用sql语句 limit 1 , 0 那就不行哈