1. 程式人生 > 程式設計 >使用mybatis-plus的insert方法遇到的問題及解決方法(新增時id值不存在異常)

使用mybatis-plus的insert方法遇到的問題及解決方法(新增時id值不存在異常)

mybatis在持久層框架中還是比較火的,一般專案都是基於ssm。雖然mybatis可以直接在xml中通過SQL語句操作資料庫,很是靈活。但正其操作都要通過SQL語句進行,就必須寫大量的xml檔案,很是麻煩。

下面給大家介紹使用mybatis-plus的insert方法遇到的問題,具體內容如下所示:

我在新增的時候,無緣無辜的給我報

java.sql.SQLException: Field 'id' doesn't have a default value

如圖:

使用mybatis-plus的insert方法遇到的問題及解決方法(新增時id值不存在異常)

後來瞭解到使用mybatis-plus的insert方法,在底層會預設生成一個Long型別的UUID,這就導致跟資料庫裡面型別不一致導致錯誤,我們首先要做的是要把這個預設自增的主鍵給禁了

在實體類id上面加一個註解

@TableId(value = "id",type = IdType.INPUT)
private String id;

這樣即可

@Data
public class JtbTransactionRecord extends Model<JtbTransactionRecord> implements Serializable{
 private static final long serialVersionUID = 1L;
 
 /**
  * 交易主鍵
  */
 @TableId(value = "id",type = IdType.INPUT)
 private String id;
}

到此這篇關於使用mybatis-plus的insert方法遇到的問題及解決方法(新增時id值不存在異常)的文章就介紹到這了,更多相關mybatis-plus insert方法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!