8

我是 MyBatis 的初学者。

我只想知道如何从一个类的实例中插入一组对象。假设我有一个类 User 与一对多关系中的 Note 相关。我只想提一下,我通过 Hibernate 的 hbm2ddl 使用 JPA 2 注释构建了我的模式。我将添加我在下面的示例代码中使用的关键 JPA 注释。

这是一个示例:

@Entity
public class User {
    ...
    @OneToMany
    @JoinColumn(name="user")
    public List<Note> getNotes() {...}
    ...
}

现在,每次我在 User 表中插入一些东西时,如果列表不为空,我必须将实例插入到 Note 表中。记下 Note 表中的 @JoinColumn,它应该具有插入用户的 id,我已将其设置为自动生成。

有没有人有这样的工作?谢谢。

4

1 回答 1

10

当使用常规的 MyBatis XML 映射配置时,您可以使用如下内容:

Java 类:

class EnclosingType {
  private List<ElementType> elements;
}

class ElementType {
  String a;
  String b;
  (...)
}

映射器xml:

<mapper
    namespace="my.example.ElementType">
    <insert id="insertElements" parameterType="EnlosingType">
        INSERT INTO ELEMENTTYPE (enclosingTypeId, column_a, column_b)
        VALUES
        <foreach item="element" index="index" collection="elements"
            open="(" separator="),(" close=")">
            #{id}, #{element.a}, #{element.b}
        </foreach>
    </insert>
</mapper>
于 2011-07-14T16:17:44.067 回答