MyBatis中可以通过两种方式传递子查询的参数:
- 使用占位符(
#{}
)方式传递参数:可以在子查询中使用#{}
来表示参数,然后在父查询中通过parameterType
指定参数类型,并在传递参数时将参数传递给父查询。例如:
然后在调用该子查询时,传递childId
参数:
Listparents = sqlSession.selectList("getParentsByChildId", childId);
- 使用
标签进行参数传递:可以在父查询中使用
标签来遍历参数列表,并将参数传递给子查询。例如:
然后在调用该子查询时,传递childIds
参数:
ListchildIds = new ArrayList<>(); childIds.add(1); childIds.add(2); List parents = sqlSession.selectList("getParentsByChildIds", childIds);
这样就可以将childIds
中的值传递给子查询,并返回满足条件的父记录列表。