MyBatis insert标签 回填主键

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fighting_sxw/article/details/84823312

JDBC中的Statement对象在执行插入的SQL后,可以通过getGeneratedKeys方法获得数据库生成的主键(需要数据库驱动支持),这样便能达到获取主键的功能。在insert标签中有一个开关属性useGeneratedKeys,用来控制是否打开这个功能,它的默认值为false。当打开了这个开关,还要配置其属性keyProperty或keyColumn,告诉系统把生成的主键放入哪个属性中,如果存在多个主键,就要用 (,) 将他们分开

例如:

<insert id="insert" parameterType="role" useGeneratedKeys="true" keyProperty="id">
    insert into t_role(role_name,note) values (#{roleName},#{note})
  </insert>

useGeneratedKeys代表采用JDBC的Statement对象的getGeneratedKeys方法返回主键,而keyProperty则代表将用POJO的哪个属性去匹配这个主键,这里是id,说明它会用数据库生成的主键去赋值给这个POJO的id属性。

猜你喜欢

转载自blog.csdn.net/fighting_sxw/article/details/84823312
今日推荐