SQL中插入数据,获取新增数据的id主键

方法一:使用Mybatis plus自带的insert()方法

entity

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("student")
public class Student{
    @ApiModelProperty("主键")
    @TableId(type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("姓名")
    @TableField("name")
    private String name;
}

Mapper

@Mapper
public interface StudentMapper extends BaseMapper<Student> {
}

service

@Service
public class StudentService {
//引入mapper文件
@Autowired
private StudentMapper studentMapper;
//调用Mybatis自带的insert方法
studentMapper.insert(student);
//获取主键值
Integer id = student.getId();
}

方法二:自定义insert()方法

mapper

int insertStduent(Stduent stduent);

xml,注:一定要标注上这几个值,开启主键映射,否则会获取不到生成的主键值

useGeneratedKeys="true" keyProperty="id" keyColumn="id"

<insert id="insertStudent" parameterType="com.entity.Student" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
        insert into student
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="name != null and name != ''">name</if>
        </trim>
        <trim prefix="values(" suffix=")" suffixOverrides=",">
            <if test="name != null and name != ''">#{name}</if>
        </trim>
</insert>

service同上

猜你喜欢

转载自blog.csdn.net/qq_53376718/article/details/141019329