バスケットボール
問題の説明
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());