使用@options注解

@Insert("insert into scenario_storage " +
"(user_id , scenario_name , nodes_name , publish_subscribe_name , test_design_name , type_define_name , upload_url , create_time ,remark)" +
"values (#{userId} , #{scenarioName} , #{nodesName} , #{publishSubscribeName} , #{testDesignName} , #{typeDefineName} , #{uploadUrl} , #{createTime} , #{remark} )")
@Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id")
Integer addScenarioStorage(ScenarioStorage scenarioStorage);

然后调用scenarioStorage.getId()即可

就是这个步骤:

  1. 写SQL,但不要自己插入主键值
  2. 配置@Options(useGeneratedKeys=true, keyProperty=“对象.属性”) 这个的作用是设置是否使用JDBC的getGenereatedKeys()方法获取主键并赋值到keyProperty设置的对象的属性中,说白了就是把自增长的主键值赋值给对象相应的属性
  3. 在插入后,使用对象.主键属性的getXXId()方法 获取主键值