Mybatis@options注解屬性useGeneratedKeys,keyProperty,keyColumn的使用


@option注解標簽useGeneratedKeys=true表示使用數據庫自動增長的主鍵,keyColumn用於指定數據庫table中的主鍵,keyProperty用於指定傳入對象的成員變量。

public interface VideoOrderMapper {

    /**
     * 查詢用戶是否購買過此商品
     * @param userId
     * @param videoId
     * @param state
     * @return
     */
    VideoOrder findByUserIdAndVideoIdAndState(@Param("user_id") int userId,@Param("video_id") int videoId,@Param("state") int state);

Springboot中 Mybatis 配置文件 Mapper參數
useGeneratedKeys=“true” keyProperty=“id”
useGeneratedKeys設置為 true 時,表示如果插入的表id以自增列為主鍵,則允許 JDBC 支持自動生成主鍵,並可將自動生成的主鍵id返回。
useGeneratedKeys參數只針對 insert 語句生效,默認為 false;

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="ren.redface.demo.mapper.VideoOrderMapper">

   <!--插入訂單的接口;取值順序不能錯亂--> <insert id="saveOrder" useGeneratedKeys="true" keyColumn="id" keyProperty="id"> INSERT INTO `video_order` (`out_trade_no`, `state`, `create_time`, `total_fee`, `video_id`, `video_title`, `video_img`, `user_id`) VALUES (#{outTradeNo,jdbcType=VARCHAR},#{state,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP},#{totalFee,jdbcType=INTEGER}, #{videoId,jdbcType=INTEGER},#{videoTitle,jdbcType=VARCHAR},#{videoImg,jdbcType=VARCHAR},#{userId,jdbcType=INTEGER}) </insert>

</mapper>

 

參考:

Mybatis 參數 useGeneratedKeys ,keyColumn,keyProperty作用和用法

Mybatis中自動生成主鍵


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM