基于注解
插入的主键id作为入参对象的其中一个属性返回
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.SelectKey;
// 在插入记录的方法上增加如下注解
@Options(useGeneratedKeys = true)
// 或
/* 若statement查询多个字段,则只有第1个字段会映射到keyProperty返回 */
@SelectKey(statement = "SELECT @@IDENTITY", keyProperty = "id", before = false, resultType = Long.class)
// for example
@Insert("INSERT INTO user(name, age, gmt_create, gmt_modified) VALUES(#{name}, #{age}, NOW(), NOW())")
@Options(useGeneratedKeys = true)
void insertUser(Map<String, Object> params);
// or
@Insert("INSERT INTO user(name, age, gmt_create, gmt_modified) VALUES(#{name}, #{age}, NOW(), NOW())")
@SelectKey(statement = "SELECT @@IDENTITY", keyProperty = "id", before = false, resultType = Long.class)
void insertUser(Map<String, Object> params);
基于XML
// TODO