Mybatis-Plus 新增獲取自增列id方式

新增獲取自增列id

1、實體類定義

註意:@TableId(value = “id”, type = IdType.AUTO)註解中的 type = IdType.AUTO 屬性標註主鍵為自增策略。

import lombok.Data;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
@Data
@TableName("users")
public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @TableField("`name`")
    private String name;
}

2、解決辦法 

方法一:

使用框架自帶的insert方法。

int insert(T entity);

方法二:

@Insert("insert into users(`name`) values(#{user.name})")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
Integer add(@Param("user") User user);

方法三:

@InsertProvider(type = UserMapperProvider.class, method = "add")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
Integer add(@Param("user") User user);

UserMapperProvider類

public class UserMapperProvider {
    public String add(User user) {
        return "insert into users(id, `name`) values(#{user.id},#{user.name})";
    }
}

3、調用方法獲取id說明

方法調用前:

在這裡插入圖片描述

方法調用後:

在這裡插入圖片描述

解決id自增方法

在pojo文件中id加入

@TableId(value = “id”,type = IdType.AUTO)

在這裡插入圖片描述

application.yml中加入:

global-config:
     db-config:
              id-type: auto

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。     

推薦閱讀: