La configuration dans le fichier mapper.xml est la suivante :
<mapper namespace="com.uiyllong.cims.dao.QuestMapper">
<resultMap type="com.uiyllong.cims.model.Selecter" id="resultSel">
<id column="selp_id" property="selpId" />
<result column="oid" jdbcType="INTEGER" property="oid" />
<result column="content" jdbcType="VARCHAR" property="content" />
<result column="selseq" jdbcType="INTEGER" property="selseq" />
</resultMap>
<resultMap id="BaseResultMap" type="com.uiyllong.cims.model.Quest">
<id column="qp_id" jdbcType="INTEGER" property="qpId" />
<result column="q_content" jdbcType="VARCHAR" property="content" />
<result column="qtype" jdbcType="INTEGER" property="qtype" />
<result column="seq" jdbcType="INTEGER" property="seq" />
<result column="s_oid" jdbcType="INTEGER" property="sOid" />
<collection property="selecters" ofType="com.uiyllong.cims.model.Selecter"
column="qseq_id" resultMap="resultSel"></collection>
</resultMap>
<!-- 插入问题 -->
<insert id="insertSelective" parameterType="com.uiyllong.cims.model.Quest"
useGeneratedKeys="true" keyProperty="qpId">
insert into quest_t
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="qpId != null">
qp_id,
</if>
<if test="content != null">
q_content,
</if>
<if test="qtype != null">
qtype,
</if>
<if test="seq != null">
seq,
</if>
<if test="sOid != null">
s_oid,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="qpId != null">
#{qpId,jdbcType=INTEGER},
</if>
<if test="content != null">
#{content,jdbcType=VARCHAR},
</if>
<if test="qtype != null">
#{qtype,jdbcType=INTEGER},
</if>
<if test="seq != null">
#{seq,jdbcType=INTEGER},
</if>
<if test="sOid != null">
#{sOid,jdbcType=INTEGER},
</if>
</trim>
</insert>
然后控制器调用后返回的居然一直是1 ,并没有实现返回主键
去网上找了一下 都是这样加了两个属性而已useGeneratedKeys="true" keyProperty="qpId"
Vous avez peut-être mal compris. Mybatis renvoie la clé primaire non pas sous la forme d'une valeur de retour, mais en la définissant sur l'ID de l'entité. Vous pouvez afficher la valeur qpId de l'objet Quest pour afficher la clé primaire à incrémentation automatique.
Alors avez-vous défini l'auto-incrémentation de la clé primaire dans la table correspondant à votre base de données ? Ou est-ce pris en charge ?