2017-05-18 3 views
0

Ich benutze die unten einfügen Abfrage in mybatis. In ibatis hat dieselbe Abfrage seq_consumer_id.nextval an die aufrufende Methode in Java zurückgegeben und dieselbe in die Spalte consumer_id eingefügt. Aber in mybatis, Return-Wert der Methode ist immer 1 (ich nehme an, es ist die Anzahl der Zeilen eingefügt), obwohl consumer_id Spalte korrekt aus der Sequenz aktualisiert wird. Können wir den Schlüssel nicht generieren, ihn einfügen und denselben in Java-Klasse in mybatis zurückgeben?Mybatis selectKey nicht zurück Sequenz Wert

<insert id="insertConsumer" parameterType="com.enrollment.vo.ConsumerVO"> 
      <selectKey keyProperty="id" resultType="int" order="BEFORE"> 
       select seq_consumer_id.nextval as id from dual 
      </selectKey> 
        insert into quotation_consumer (consumer_id, consumer_type, dob, 
        create_date, ENROLLMENT_INDICATOR, QUOTE_ID,IS_PRIMARY) 
        values(#{id},#{type.id}, #{birthdate, jdbcType=DATE}, default, #{enrollmentIndicator}, 
        #{quoteId},#{isPrimary}) 

     </insert> 

Antwort

1

Tatsächlich gibt die Methode die Anzahl der betroffenen Zeilen zurück.

Sequenz-ID wird in ìd Eigenschaft com.enrollment.vo.ConsumerVO als Parameter übergeben.