如何立刻读取在MySQL中自动生成的主键
在写一个接口时,我们需要对两个表分别动刀,但是我们需要前一个表的主键作为下一个表的功能外键,
如果使用mybatisplus,insert完成之后便可以直接在对象中取出这个id值
如果使用mybatis,我们就需要在手写的xml文件中额外写一些代码:
<insert id="insert" useGeneratedKeys="true" keyProperty="id"> INSERT INTO table_name (column1, column2, ...) VALUES (#{property1}, #{property2}, ...); </insert>
-
useGeneratedKeys="true"属性表示在插入数据时要使用数据库生成的主键。这通常用于获取插入记录后数据库生成的自增主键值。 -
keyProperty="id"属性指定了用于存储生成的主键值的 Java 对象的属性。在这个例子中,表示将生成的主键值设置到对象的id属性中
通过上述新增的两个属性,我们可以实现下面要求
dishMapper.insert(dish);
Long dishId = dish.getId();

浙公网安备 33010602011771号