MyBatis 常见主键返回策略

支持主键自增的数据库

标签中增加 useGenerateKeyskeyProperty 属性。


    INSERT INTO user(username,password,email)
    VALUES (#{username},#{password},#{email})

当使用注解时

@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")

不支持主键自增的数据库

标签内部增加 标签


    
    
        SELECT LAST_INSERT_ID()
    
    INSERT INTO user(username,password,email)
    VALUES (#{username},#{password},#{email})

当使用 MyBatis 批量插入时返回主键

 
 
    INSERT INTO user(username,password,email) VALUES
         
            (#{username},#{password},#{email})
         
 

ps:

  1. MyBatis 最低版本至少为 3.3.1。官方在这个版本中加入了批量插入返回的功能。
  2. Dao 层不能使用 @param 注解。
  3. Mapper.xml 中使用 parameterType="java.util.List" 接收 Dao 中的参数集合。

你可能感兴趣的:(MyBatis 常见主键返回策略)