自动生成主键

 insert元素的useGeneratedKeys属性告诉MyBatis使用JDBC的getGeneratedKeys方法来获取数据库自动生成主键。

例如:

 

<!-- 数据库支持自动生成主键时设置自动生成主键 -->
<insert id="insertAuthor" parameterType="domain.blog.Author" useGeneratedKeys="true" keyProperty="id">
	insert into Author (username,password,email,bio) values (#{username},#{password},#{email},#{bio})
</insert>

数据库不支持自动生成主键时,在insert元素中使用selectKey元素,例如:

 

<!-- 自动生成主键,生成规则是:当前表中最大的id值加1。 -->
    <insert id="insertBloguseAutoKey" statementType="PREPARED" parameterType="Blog">
    	<selectKey keyProperty="id" resultType="int" order="BEFORE">
    		select max(id)+1 from Blog
    	</selectKey>
    	insert into Blog(id,title,author_id) values(#{id},#{title},#{authorId})
    </insert>

 

你可能感兴趣的:(生成)