में अंतिम सम्मिलित रिकॉर्ड की आईडी प्राप्त करें I mybatis के लिए नौसिखिया हूँ। मैं अंतिम सम्मिलित रिकॉर्ड की आईडी प्राप्त करने की कोशिश कर रहा हूं। मेरे डेटाबेस mysql है और मेरी नक्शाकार एक्सएमएलmybatis
<insert id="insertSelective" parameterType="com.mycom.myproject.db.mybatis.model.FileAttachment" >
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
SELECT LAST_INSERT_ID() as id
</selectKey>
insert into fileAttachment
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="name != null" >
name,
</if>
<if test="attachmentFileSize != null" >
size,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
<if test="attachmentFileSize != null" >
#{attachmentFileSize,jdbcType=INTEGER},
</if>
</trim>
</insert>
मैंने सोचा था कि बयान यहाँ लिखा है 'का चयन LAST_INSERT_ID() आईडी के रूप में' आखिरी डाला रिकॉर्ड की आईडी लौटना चाहिए, लेकिन मैं रिकॉर्ड डालने के बाद हमेशा 1 हो रही है।
मेरे mapper.java वर्ग मैं विधि
int insertSelective(FileAttachment record);
मेरी दाव वर्ग में मैं
पूर्णांक आईडी = fileAttachmentMapper.insertSelective (fileAttachment) का उपयोग कर रहा हूँ;
मुझे नया रिकॉर्ड डालने पर हमेशा आईडी का मूल्य मिल रहा है 1। मेरा आईडी फ़ील्ड स्वतः बढ़ता गया है और रिकॉर्ड ठीक से डालने जा रहे हैं।
महान jddsantaella है ... क्या यह धागा सुरक्षित है? – user965884
मुझे नहीं पता, लेकिन मुझे मेरा बैटिस पर भरोसा है, इसलिए मैं हाँ कहूंगा। – jddsantaella
अच्छा .. धन्यवाद Jddsantaella – user965884