java - Mybatis memasukkan ke dalam pangkalan data mysql dan mengembalikan kunci utama auto-incrementing?
ringa_lee
ringa_lee 2017-05-17 10:02:01
0
2
731

Konfigurasi dalam fail mapper.xml adalah seperti berikut:

<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"
ringa_lee
ringa_lee

ringa_lee

membalas semua(2)
Peter_Zhu

Anda mungkin salah faham Mybatis mengembalikan kunci utama bukan dalam bentuk nilai pulangan, tetapi dengan menetapkannya kepada ID entiti. Anda boleh mengeluarkan nilai qpId bagi objek Quest untuk melihat kunci utama auto-incrementing.

我想大声告诉你

Maka adakah anda mempunyai set kenaikan automatik kunci utama dalam jadual yang sepadan dengan pangkalan data anda? Atau adakah ia disokong?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan