在MyBatis中,插入数据时处理主键的方法通常有两种:
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
<insert id="insertUser" parameterType="User">
INSERT INTO user (id, name, age) VALUES (#{id}, #{name}, #{age})
</insert>
需要注意的是,对于自动生成主键的情况,需要设置useGeneratedKeys="true"
和keyProperty="id"
两个属性来告诉MyBatis将数据库生成的主键值回写到实体类中。而对于手动生成主键的情况,需要在插入数据时手动指定主键值,并保证主键值的唯一性。