挿入後MyBatisのは、インクリメントIDを取得したいが、常に1を返します。

バスケットボール

問題の説明

IdはMyBatisのことで、挿入した後インクリメントを取得したいのですが、次のように常に、1を返します。

long insertCommentInfo(CommentInfo commentInfo);
<insert id="insertCommentInfo" parameterType="CommentInfo" useGeneratedKeys="true" keyProperty="id">
        insert into comment_info (content, ip
        <if test="connect != null">
            ,connect
        </if>
        <if test="name != null">
            ,name
        </if>
        ) values (#{content}, #{ip}
        <if test="connect != null">
            ,#{connect}
        </if>
        <if test="name != null">
            ,#{name}
        </if>
        );
    </insert>

しかし、あなたが見ることができるように、メソッドを呼び出すとき:

System.out.print(insertCommentInfo(commentInfo));

しかし、常に1を返します。

問題の原因

MyBatisの中で、戻り値が挿入された行の数を表します。

ソリューション

実際には、MyBatisのID値のリターンがでカプセル化されており、着信パラメータ私たちは必要なので、:

System.out.print(commentInfo.getId());
公開された100元の記事 ウォンの賞賛142 ビュー170 000 +

おすすめ

転載: blog.csdn.net/coder_what/article/details/97936539