2010-08-01 8 views
8

मैं माईबेटिस के साथ शुरुआत कर रहा हूं।MyBatis 3.x का उपयोग करके ऑब्जेक्ट्स का संग्रह कैसे सम्मिलित करूं?

मैं सिर्फ कक्षा के उदाहरण से ऑब्जेक्ट्स का संग्रह कैसे सम्मिलित करना चाहता हूं, जानना चाहता हूं। मान लें कि मेरे पास एक से अधिक रिश्ते में एक नोट से संबंधित क्लास उपयोगकर्ता है। मुझे बस यह उल्लेख करना है कि मैंने जेबए 2 एनोटेशन का उपयोग करके हाइबरनेट के एचबीएम 2ddl के माध्यम से अपनी स्कीमा बनाई है। मैं नीचे दिए गए नमूना कोड में उपयोग की जाने वाली प्रमुख जेपीए एनोटेशन जोड़ूंगा।

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

अब, हर मैं उपयोगकर्ता तालिका मैं नोट तालिका में उदाहरणों डालने के लिए यदि सूची खाली नहीं है में कुछ सम्मिलित करें:

यहां एक नमूना है। नोट टेबल में @ जॉइन कॉलम का ध्यान रखें जिसमें डाले गए उपयोगकर्ता की आईडी होनी चाहिए, जिसे मैंने स्वत: उत्पन्न किया है।

क्या किसी को इस काम की तरह कुछ मिला है? धन्यवाद।

+0

चेक विस्तार यहाँ उत्तर: http://stackoverflow.com/questions/23486547/mybatis-batch-insert-update-for-oracle?answertab=votes#tab-top –

उत्तर

10

एक नियमित MyBatis एक्सएमएल मानचित्रण config का उपयोग करते समय आप कुछ इस तरह का उपयोग कर सकते हैं:

जावा वर्गों:

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> 
+6

एनोटेशन का उपयोग करके ऐसा करने का कोई तरीका है? – sheki

+0

जैसा कि मैं समझता हूं कि यह उन चीजों में से एक होगा जो एनोटेशन – eaglestorm

+0

वाह नहीं कर सकते .. आपका समाधान मेरा दिन बचा, धन्यवाद! मैं विभाजक के रूप में बस सरल "," का उपयोग कर रहा था। धन्यवाद! – ronkot

संबंधित मुद्दे

 संबंधित मुद्दे