使用@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()即可
就是这个步骤:
- 写SQL,但不要自己插入主键值
- 配置@Options(useGeneratedKeys=true, keyProperty=“对象.属性”) 这个的作用是设置是否使用JDBC的getGenereatedKeys()方法获取主键并赋值到keyProperty设置的对象的属性中,说白了就是把自增长的主键值赋值给对象相应的属性
- 在插入后,使用对象.主键属性的getXXId()方法 获取主键值