中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis plus使用insert時沒有返回主鍵怎么解決

發布時間:2020-11-05 16:56:05 來源:億速云 閱讀:2982 作者:Leah 欄目:開發技術

mybatis plus使用insert時沒有返回主鍵怎么解決?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

項目使用springboot搭建。最初的時候是使用mybatis,后來升級到mybatis plus。按照mp的官網介紹,使用mp的insert方法,對于自增的數據庫表,mp會把主鍵寫入回實例的對應屬性。但實際操作起來,卻沒有主鍵。

entity 類設置如下:

@TableName(value = "USERINFO")
public class UserInfo {
  /**
   * 指定自增策略
  */
  @TableId(value = "user_id",type = IdType.AUTO)
  private Long userId;

  private String gender;

  private Date birthday;

  private String phone;
//省略后面的其他屬性和getter/setter
}

dao 類設置如下:

@Repository
@Mapper
public interface UserInfoDao extends BaseMapper<UserInfo> {
  //  int insert(UserInfo record);

  int insertSelective(UserInfo record);

  UserInfo selectByPrimaryKey(Long logId);

  int updateByPrimaryKeySelective(UserInfo record);
}

Service類調用userInfoDao的insert方法(此方法是來源于BaseMapper)。但是insert成功后沒有返回主鍵userId。上網查了下,其他人都是這樣設置,就會有主鍵返回。

看到dao類里面一條注釋,// int insert(UserInfo record); ,心里有個想法。

這條注釋對應的insert方法,是使用mybatis generator生成的。但是因為此方法名和mybatis plus的通用方法名一樣,所以我把它注釋了。會不會是因為dao對應的mapper.xml文件,里面的id = inesert的sql語句依然存在,從而覆蓋掉了mybatis plus的通用insert,所以沒有自動返回主鍵。

點進去對應mapper.xml文件,果然看到<insert id="insert">的sql語句。刪掉該語句,重試mybatis plus的insert方法,這次有主鍵返回了。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜宾市| 会宁县| 泊头市| 察哈| 宁国市| 康定县| 苗栗县| 左贡县| 冕宁县| 玛多县| 邵阳县| 青阳县| 绥德县| 大荔县| 临武县| 天镇县| 临沧市| 青阳县| 洱源县| 衡南县| 通州区| 青川县| 维西| 开封县| 丰宁| 平顺县| 宜阳县| 大丰市| 大邑县| 久治县| 米脂县| 华宁县| 高碑店市| 葫芦岛市| 确山县| 偃师市| 涟水县| 定兴县| 黄陵县| 阿勒泰市| 太白县|