核心代码
Mapper配置文件
<!-- 批量插入标签并返回主键 -->
<insert id="insertBatch" parameterType="list" useGeneratedKeys="true" keyProperty="tagId">INSERT INTO tag (label)VALUES<foreach collection="list" item="tag" separator=",">(#{tag.label})</foreach>
</insert>
useGeneratedKeys="true"
: 这个属性告诉MyBatis使用JDBC提供的getGeneratedKeys方法来获取数据库生成的主键。
keyProperty="tagId"
: 指定了要填充到Java对象中的属性,即每个Tag对象的tagId属性。
Dao应用代码段
public void insert(List<Tag> tags) {// 存储原先节点的父节点idtagMapper.insertBatch(tags); // 批量插入标签并获取主键...
调用mapper的这个插入方法,就会把数据库生成的主键值,自动赋在Java的对象身上。