Tôi có các tình huống sau:MyBatis, chèn với đối tượng phức tạp
public class MyObj{
private String myField_1
private String myField_2
private MyChildObj myChild
// Constructor & get/set
}
public class MyChildObj{
private String myField_3
private String myField_4
// Constructor & get/set
}
trên Query.xml của tôi đã viết chèn theo cách này:
<insert id="insertMyObj" parameterType="MyObj">
INSERT INTO MY_TABLE ( FIELD_1,
FIELD_2,
FIELD_3,
FIELD_4)
values ( #{myField_1},
#{myField_2},
#{myField_3},
#{myField_4},
)
</insert>
sau khi đọc kết quả mybatis Bản đồ hướng dẫn tôi đã cố gắng để thêm các dòng sau vào tệp mybatis-config.xml:
<typeAliases>
<typeAlias alias="MyObj" type="myPackage.MyObj"/>
<typeAlias alias="MyChildObj" type="myPackage.MyChildObj"/>
</typeAliases>
<resultMap id="insertObj" type="MyObj">
<result property="myField_1" column="FIELD_1"/>
<result property="myField_2" column="FIELD_2"/>
<association property="PrimaryKeyMap" resultMap="PrimaryKey"/>
</resultMap>
<resultMap id="PrimaryKeyMap" type="PrimaryKey">
<result property=myField_3 column="FIELD_3"/>
<result property="myField_4" column="FIELD_4"/>
</resultMap>
nhưng tôi tiếp tục gặp lỗi sau:
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: xx; columnNumber: xx; Element type "resultMap" must be declared.
Có ai có thể làm rõ cho tôi cách thiết lập điều này không?
MyChildObject là khóa chính cho bảng đó. Tôi sẽ thử ngay bây giờ, cảm ơn trước, tôi sẽ viết lại càng sớm càng tốt! – Koop4
Đủ để thay đổi truy vấn khi bạn đề xuất! Cảm ơn một lần nữa! – Koop4