如何使用MyBatis 3.x插入对象集合?

Psy*_*nch 8 collections orm ibatis insert mybatis

我是MyBatis的初学者.

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

这是一个示例:

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

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

有人有这样的工作吗?谢谢.

Bas*_*Bas 10

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

Java类:

class EnclosingType {
  private List<ElementType> elements;
}

class ElementType {
  String a;
  String b;
  (...)
}
Run Code Online (Sandbox Code Playgroud)

映射器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>
Run Code Online (Sandbox Code Playgroud)

  • 有没有办法做这个使用注释? (6认同)