我正在用参数(a)在数据库中插入对象a。像这样的物体
A {
List<B> b;
List<C> c;
}
在mapper文件中,我使用以下函数:
void register(@Param("a")A a);
在mapper.xml中,我编写了以下代码:
<insert id="registerB" parameterType="java.util.List">
<foreach>...</foreach>
</insert>
<insert id="registerC" parameterType="java.util.List">
<foreach>...</foreach>
</insert>
<insert id="register">
//TODO include insert registerB and registerC
</insert>
如何在a的insert查询中插入b和c的列表?
1条答案
按热度按时间qpgpyjmq1#
不能在中轻松重用insert sql片段
mapper.xml
. 问题不在于sql字符串本身,这是可以做到的(比如这里描述的)。问题在于引用参数。插入
registerB
例如,参数是B
s。你不能重新定义它来方便的使用它们register
.但是,您可以使用java8默认方法来重用
registerB
以及registerC
来自如下java代码: