在MyBatis中,插入數(shù)據(jù)時(shí)處理主鍵的方法通常有兩種:
<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>
需要注意的是,對(duì)于自動(dòng)生成主鍵的情況,需要設(shè)置useGeneratedKeys="true"
和keyProperty="id"
兩個(gè)屬性來(lái)告訴MyBatis將數(shù)據(jù)庫(kù)生成的主鍵值回寫(xiě)到實(shí)體類(lèi)中。而對(duì)于手動(dòng)生成主鍵的情況,需要在插入數(shù)據(jù)時(shí)手動(dòng)指定主鍵值,并保證主鍵值的唯一性。